HELLinG3R Geschrieben 18. März 2004 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??
MadCro Geschrieben 18. März 2004 Geschrieben 18. März 2004 hi, versuch es mal so $_SERVER['PHP_SELF']
HELLinG3R Geschrieben 18. März 2004 Autor 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
kills Geschrieben 19. März 2004 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.
kLeiner_HobBes Geschrieben 19. März 2004 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.
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden