Sessions-Problem
Holger
- php
Hallo!
Ich möchte mir gerade ein Admin-Script machen, damit ich bestimmte Dateien meiner Seite von überall aus online verändern kann. Das Funktionier alles ganz prima, nur die Passwortabfrage bringt mich allmählich zur Verzweiflung...
Das Script ist so strukturiert:
if (session_is_registered('pw')) { Hier ist das Hauptprogramm inkl. logout... }
else { login(); }
in der function login() wird das Passwort abgefragt, wenn das richtig ist wird das gemacht:
{ session_start();
session_register('pw'); }
Das funktioniert so lange, bis im "Hauptprogramm" eine Funktion ausgewählt wird. Dabei wird das Script erneut mit einem entsprechende query_string aufgerufen. Das scheint die Session aber nicht zu überleben, es tritt der "else"-Fall ein und man gelangt wieder zum login.
Ich dachte, gerade dafür ist eine Session, damit sie über das Script hinweg erhalten bleibt?!
Wo liegt mein (Denk-)Fehler?
Danke & Grüße: Holger
Das funktioniert so lange, bis im "Hauptprogramm" eine Funktion ausgewählt wird. Dabei wird das Script erneut mit einem entsprechende query_string aufgerufen. Das scheint die Session aber nicht zu überleben, es tritt der "else"-Fall ein und man gelangt wieder zum login.
Ich dachte, gerade dafür ist eine Session, damit sie über das Script hinweg erhalten bleibt?!
In PHP bauen Sessions standardmässig auf Cookies auf. Sollten diese nicht
aktiviert sein, dann muss man die eindeutige SessionID über die URL
weitergeben.
Beispiel:
$mySID = session_id(); // Session_ID und Session Name ermitteln - müssen über URL weitergegeben werden, falls Cookies
$mySessionName = session_name(); // nicht angeschalten sind
<INPUT TYPE="hidden" VALUE="<?=$mySID?>" NAME="<?=$mySessionName?>">
oder
<A HREF="einlink.php4?<?=$mySessionName?>=<?=$mySID?>">
viele Grüsse
Stephan
Hi Holger,
hast du im Hauptprogramm auf ein session_start()? Das vergisst man bei Sessions naemlich gerne mal, und ohne das geht meines wissens nix.
MFG
Philipp