|
| Alle includefiler loades selvom de ligger ~ Fra : Mads Rahbæk Madsen |
Dato : 09-01-01 16:17 |
|
Hej Gruppe!
Jeg henter mine sider med f.eks. default.asp?page=main
Nedenstående skulle så gerne hente det rette indhold ind i min
tabelcelle. Jeg har indtil nu to sider (main og logincheck) der bruger
de samme variabelnavne. Jeg får denne fejlbesked: "Navnet blev
defineret igen".
Hvordan undgår jeg dette? Den burde vel ikke hente alle includerne
ind???????
Jeg har prøvet at sætte alle include sætningerne ind i en
Response.Write "include her" istedet, men så får jeg bare en tom side
der i "View Source" viser den kommenterede include kode....?!?!??
Mvh. Mads
<%
Select Case Request.Querystring("page")
Case "main"
%><!-- #include file="inc/main.asp" --><%
Case "securetest"
%><!-- #include file="inc/securetest.asp" --><%
Case "login"
%><!-- #include file="inc/login.asp" --><%
Case "logincheck"
%><!-- #include file="inc/logincheck.asp" --><%
Case Else
%><strong>Error!</strong><br><br>The requested page
was not found!<%
End Select
%>
| |
Lauritz Jensen (09-01-2001)
| Kommentar Fra : Lauritz Jensen |
Dato : 09-01-01 16:22 |
|
"Mads Rahbæk Madsen" wrote:
>
> Hvordan undgår jeg dette? Den burde vel ikke hente alle includerne
> ind? [en masse unødige spørgsmålstegn]
Jo, for include bliver jo udført før asp'en. Dvs. først bliver alle
siderne includeret og derefter fortolkes asp'en (lidt ligesom include i
c).
--
Lauritz
| |
Mads Rahbæk Madsen (09-01-2001)
| Kommentar Fra : Mads Rahbæk Madsen |
Dato : 09-01-01 16:58 |
|
On Tue, 09 Jan 2001 16:21:42 +0100, Lauritz Jensen
<lauritz2@hotmail.com> wrote:
>"Mads Rahbæk Madsen" wrote:
>>
>> Hvordan undgår jeg dette? Den burde vel ikke hente alle includerne
>> ind? [en masse unødige spørgsmålstegn]
>
>Jo, for include bliver jo udført før asp'en. Dvs. først bliver alle
>siderne includeret og derefter fortolkes asp'en (lidt ligesom include i
>c).
Argh! Hvad gør jeg så? Jeg er lidt i vildrede...
Mvh. Mads
| |
Lauritz Jensen (09-01-2001)
| Kommentar Fra : Lauritz Jensen |
Dato : 09-01-01 17:04 |
|
"Mads Rahbæk Madsen" wrote:
>
> Argh! Hvad gør jeg så? Jeg er lidt i vildrede...
Lad være med at have globale variable i include-filer (der er
naturligvis situationer, hvor det er en god ide). Det du kan gøre er at
lave en funktion i hver af dine include filer (som indeholder alt det
includefilen indeholder nu), så includer du alle filerne øverst i
scriptet og så kan du blot klade funktionen inde i
select/case-sætningen.
--
Lauritz
| |
Mads Rahbæk Madsen (09-01-2001)
| Kommentar Fra : Mads Rahbæk Madsen |
Dato : 09-01-01 21:14 |
|
On Tue, 09 Jan 2001 17:04:27 +0100, Lauritz Jensen
<lauritz2@hotmail.com> wrote:
>"Mads Rahbæk Madsen" wrote:
>>
>> Argh! Hvad gør jeg så? Jeg er lidt i vildrede...
>
>Lad være med at have globale variable i include-filer (der er
>naturligvis situationer, hvor det er en god ide). Det du kan gøre er at
>lave en funktion i hver af dine include filer (som indeholder alt det
>includefilen indeholder nu), så includer du alle filerne øverst i
>scriptet og så kan du blot klade funktionen inde i
>select/case-sætningen.
Tak for hjælpen. Det virker som det skal.
Mvh. Mads
| |
Jonathan Stein (09-01-2001)
| Kommentar Fra : Jonathan Stein |
Dato : 09-01-01 20:29 |
|
"Mads Rahbæk Madsen" wrote:
> >> Hvordan undgår jeg dette? Den burde vel ikke hente alle includerne
> >> ind? [en masse unødige spørgsmålstegn]
> >
> >Jo, for include bliver jo udført før asp'en. Dvs. først bliver alle
> >siderne includeret og derefter fortolkes asp'en (lidt ligesom include i
> >c).
>
> Argh! Hvad gør jeg så? Jeg er lidt i vildrede...
Bruger Server.Execute, læser filen med FileSystem-objektet, lægger siderne
i en database eller...
Det er i øvrigt fornuftigt, at du tester på "page" paramteren, og så
vælger filnavn ud fra den i stedet for at smide "page" direkte ind i
filnavnet. Man skal være meget påpasselig med ikke at åbne sikkerhedshuller,
hvis man bruger parametre direkte i filnavnet.
M.v.h.
Jonathan
| |
|
|