Include in if-abfragen

Hallo,

ich habe ein Problem mit einer Include-Datei, und zwar funktioniert diese Datei nicht richtig. Sie bringt immer eine Fehlermeldung.

Deswegen habe ich einen Modus eingebaut. Auf einer Konfigurationsseite wird eine Variable angelegt. z.B.

Modus = 1 oder Modus = 2

wenn man dann auf die Seite geht, in der die Includedatei eingebunden werden soll, wird abgefragt ob Modus nun 1 oder 2 ist. Ist Modus 1 soll die Inlcude Datei eingebunden werden bei 2 nicht.

Komischerweise bringt er mir aber immer die Fehlermeldung!!! Wiso das denn? Schaut der Server immer in die Inlcude Dateien und enscheidet erst dann ob er sie include, meldet aber alle Fehler die er findet?

Kann mir einer das erklären, wiso das so ist, ich bin bald am verzweifeln!

Gruß
Martin

Hallo Martin,

der IIS fügt grundsätzlich erst alle Includes ein, bevor er mit der Verarbeitung der Skripte beginnt. Dynamisches Einbinden von Skripten per Include-Anweisung ist generell nicht möglich. Falls Du aber mit ASP ab der Version 3.0 arbeitest, könntest Du den gewünschten Effekt wahrscheinlich mit

if (modus = 1) then
 Server.Execute ("include1.asp")
else
 Server.Execute ("include2.asp")
end if

hinbekommen.

Viel Erfolg! Thomas

PS: Zu Deinem Posting weiter unten: Klar kannst Du alle Dateien auf „.asp“ enden lassen - das hatte ich ja auch als eine Lösungsmöglichkeit angegeben. Nur schön ist es halt nicht - schliesslich ist es ja keine eigenständige ASP-Datei!

Hi,

erstmal danke für deine schnell Antwort!
Leider half sie mir nicht weiter, anbei mal einen ausschnitt meines Codes:
_--------------------------------------------------------
") end if%>

----------------------------------------------------------_

Die seite checkntlogin.asp wird durch deinen Befehl leider nicht ausgeführt!

Gruß
Martin

Ups - Missverständnis: Verwende Server.Execute (…) statt Include-Statement, nicht zusätzlich dazu!!

T.

Code-Beispiel
Das hier müsste übrigens reichen (und sieht IMHO auch übersichtlicher aus):

")

 if LOGINMODUS = 2 then Server.Execute ("checkntlogin.asp")
%\>

T.

Das include Statment war ja auch deaktiviert! *G* Darum hatte ich auch den Kommentar dazugeschrieben :wink:

Danke für deine Beträge, werde es morgen dann mal ausprobieren! Für heute mache ich mal Feierabend, und einen solchen wünsche ich dir auch…schönen Feierabend!

Martin

Ups - Missverständnis: Verwende Server.Execute (…)
statt Include-Statement, nicht zusätzlich
dazu!!

T.