Sven Rautenberg: kann SESSION verloren gehn?

Beitrag lesen

Moin!

Das Problem hatte ich auch und denke, es liegt am Client. Nach dem Schließen des Popups läuft die Sitzung im Hauptfenster nämlich schön weiter.

Natürlich liegt es in erster Konseqenz am CLient. Wenn dieser Cookies ablehnt, muß die Session-ID per URL-Parameter oder Extra-Formularfeld übergeben werden.

PHP kann so eingestellt werden, dass es diese IDs automatisch an Links dranhängt. Das funktioniert aber nur bei ganz normalen HTML-Links ohne Javascript, und bei ganz normalen Formularen.

Da ein Popup aber mit Javascript geöffnet werden muß, muß man die Session-ID hier manuell dranhängen.

Das geschieht bei einfachen URLs ganz simpel durch dranhängen der Konstanten SID, welche im Bedarfsfall einen String der Art "PHPSESSID=1567565675" enthält, wenn keine Cookies akzeptiert werden, andernfalls nur "".

Das Hidden-Feld in Formularen muß man manuell mit den Angaben session_name() für das name-Attribut und session_id() für das value-Attribut füllen, wenn PHP versagt.

Mein Workaround: Beim Aufruf des PopUps die PHPSESSID mit übergeben und im PopUp folgenden Code unterbringen:

Dein Code ist vollkommen überflüssig. session_start() erkennt, wenn kein Cookie mit der Session-ID übergeben wurde, und verwendet dann automatisch die Angaben aus $_POST oder $_GET.

- Sven Rautenberg