HELLinG3R Geschrieben 18. März 2004 Teilen Geschrieben 18. März 2004 Hallo Leute, ich habe das Problem, dass $SELF_PHP="" zurückgibt, was eigentlich nicht sein dürfte. Zum Hintergrund: ich benutze Linux-Apache mit php4_modul. folgende Dateistruktur habe ich angelegt, weils ein größeres Projekt wird: /projekt/ Stammverzeichniss /projekt/lib/ Meine Librarys, PHP-Klassen und Funktionen /projekt/prog/ die eigentlichen Programmdateien, also DocumentRoot /projekt/templates/ template-verzeichniss okay, ich habe also eine setup.lib im /lib/ verzeichniss liegen, dort wird eine klasse definiert, die wiederum eine loginfunktion aufruft. diese loginfunktion nutzt zur ausgabe templates; in dem logintemplate liegt eine templatevariable {$self_url}, die von der Loginfunktion gefüllt wird. diese soll je nach programmdatei ausm DocumentRoot mit der richtigen url gefüllt werden. --> und hier setzt das problem ein: $PHP_SELF liefert nul! leigt das daran, dass die funktionen, die $PHP_SELF benutzen NICHT im DocumentRoot liegen, sondern inkludiert werden? oder habe ich irgendeine einstellung übersehen?? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
MadCro Geschrieben 18. März 2004 Teilen Geschrieben 18. März 2004 hi, versuch es mal so $_SERVER['PHP_SELF'] Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
HELLinG3R Geschrieben 18. März 2004 Autor Teilen Geschrieben 18. März 2004 ah, daran wirds liegen... ich habe vergessen, dass $PHP_SELF nicht superglobal ist, daher kanns auch nicht übernommen werden......... ich werds mal testen! danke Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kills Geschrieben 19. März 2004 Teilen Geschrieben 19. März 2004 // dass sollte so nicht gehen! function testfunc() { global $_SERVER; echo $_SERVER["PHP_SELF"]; } // so sollte es gehen function testfunc() { echo $_SERVER["PHP_SELF"]; } [/PHP] Ich hab die Erfahrung gemacht, wenn man SuperGlobale veriaben per z.b. "global $_SERVER" für ne Funktion rannholt, dass die Arrays dann leer sind! Dies liegt wohl daran dass sie ja schon vorher von PHP aus global verfügbar sind. ob das bei $_SERVER auch so ist weiss ich nicht, ich hatte das Problem vor kurzem mit $_POST und $_GET. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kLeiner_HobBes Geschrieben 19. März 2004 Teilen Geschrieben 19. März 2004 Ja, die superglobals sollte man nicht mit dem Schlüsselwort "global" einbinden, man kann wirklich von überall auf sie zugreifen. Wahrscheinlich entsteht sonst der gleiche Effekt wie bei kills. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.