• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

Sessionvariablen zum Teil weg nach Popup-Fenster

hygrom

New member
Hallo

Da ich nicht, sicher bin, welcher Teil mein Problem auslöst, poste ich unter Allgemein.

Ich habe die Situation, dass ein Hauptfenster bestimmte Userdaten, die oft benötigt werden, in einer Session speichert.
Wenn ich nun ein Popupfenster öffnen lasse, und in der URL die SID übergebe, läuft im neuen Fenster alles wie es soll.

Wenn ich nun aber, auch ohne im Popup-Fenster irgendetwas anzuklicken, im Hauptfenster ein Submit durchführe, ist das Formular nach dem refresh fort.
Die Ausgabe der Session-ID zeigt aber, dass diese unverändert ist.
Dieses Phänomen tritt nur auf, wenn ein Popup geöffnet wurde.

Das Formular wird aufgrund einer Abfrage eines Session-Wertes erstellt. Ausserdem wird der aktuelle Firmen-Name des eingeloggten Benutzers, der auch in einer Session steht, nicht mehr angezeigt.
Über einen Back-Button komme ich in das vorhergehende Menü, wo normalerweise alle Filialen des Kunden in einer Drop-Down-Liste stehen sollen. Diese ist aber leer. Daher bin ich sicher, dass es an der Session liegt.

Da die Session-ID aber die ganze Zeit über korrekt angezeigt wird, wenn ich sie per echo session_id() auf jeder Seite anzeigen lasse, weis ich nicht weiter.

Ich denke, dass es zu komplex wird, die komplette Programm-Struktur hier zu erläutern. Ich möchte auch eigenlich nur wissen, ob es bekannte Probleme mit Session-Variablen gibt, wenn man Popups benutzt. Muss ich etwas wichtiges beachten?

Wie gesagt, habe ich die SID über die URL ans Popup übergeben.
Dort rufe ich dann:

PHP:
ini_set('session.use_cookies','0');
$sid = $_GET['s_id'];
session_id($sid);
session_start();

auf. Ich kann im Popup auch wunderbar mit den Session-Variablen arbeiten, sie werden alle erkannt.

Im Hauptfenster wird oben auf der Seite mit

PHP:
ini_set('session.use_cookies','0');
session_start();

die Session immer neu eingelesen.

Für irgendwelche Tipps oder Hinweise wäre ich sehr dankbar. Durch googeln habe ich keine helfenden Hinweise erhalten.
 
Information:

Ich habe das Problem gefunden. Es lag an der Art der Weitergabe der Session-ID.

Ich hatte die SID in der URL einer Variablen zugewiesen und diese dann übergeben:
PHP:
$sid = $_GET['s_id'];
session_id($sid);
session_start();

Jetzt habe ich die Session-ID aber nicht per ?s_id=xxxxx übergeben, sondern direkt über die Systemvariable SID:

HTML:
http://www.meinedomain.de?SID

Auf diese Weise blieb die Session im Hauptfenster wirklich erhalten.

Das Problem ist gelöst, der Thread kann somit geschlossen werden.
 
Zuletzt bearbeitet:
Zurück
Oben