Hallo Leute, ich habe das Problem, dass $PHP_SELF="" 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??
$PHP_SELF ="" bei aufruf aus Funktion!
Re: $PHP_SELF ="" bei aufruf aus Funktion!
Hallo,
evtl. hast du das Umgebungsarray $_SERVER bzw. $PHP_SELF in der Funktion nicht global gesetzt.
Schau evtl. mal in der phpinfo nach, ob dort $PHP_SELF einen Wert zurückliefert.
Falls nicht, liegt es an der PHP Version/Einstellung. Ansonsten setz $PHP_SELF in der Funktion, Klasse global.
evtl. hast du das Umgebungsarray $_SERVER bzw. $PHP_SELF in der Funktion nicht global gesetzt.
Schau evtl. mal in der phpinfo nach, ob dort $PHP_SELF einen Wert zurückliefert.
Falls nicht, liegt es an der PHP Version/Einstellung. Ansonsten setz $PHP_SELF in der Funktion, Klasse global.
Re: $PHP_SELF ="" bei aufruf aus Funktion!
Besser ist es, anstelle von $PHP_SELF direkt $_SERVER['PHP_SELF'] zu nutezn da $_SERVER ein superglobal ist.
Re: $PHP_SELF ="" bei aufruf aus Funktion!
okay, daran wirds liegen. danke! :)
ich dachte bisher immer, dass $PHP_SELF superglobal ist, habs anscheinend mit $_SERVER verwechselt!
danke nochmal für die hilfe, ich werds heute ausprobieren!
:-D
ich dachte bisher immer, dass $PHP_SELF superglobal ist, habs anscheinend mit $_SERVER verwechselt!
danke nochmal für die hilfe, ich werds heute ausprobieren!
:-D