Holger: Sessions-Problem

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

  1. 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

  2. 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