Session nach Aufruf eines POPUP-Fensters weg

Hi Leute,

ich habe folgendes Problem, ich habe einen Memberbereich bei dem die Member über die Session autorisiert werden… jetzt öffnet man ein fenster via javapopup und die Session verschwindet bei “einigen” Nutzern nicht bei allen. Ich starte meine Session via:

session_start();

dann setz ich die Session beim Login

$_SESSION['id'] = 'blabla';

und auf der seite nach dem popup wird sie wieder gestartet

session_start();

und ausgelesen

$id = $_SESSION['id'];

Eigentlich müsste die Session also da sein, warum ist sie das bei einigen Usern nicht?

Was soll “die Seite nach dem Popup” bedeuten?

Wenn die Session-ID nicht per Cookie uebergeben werden kann, dann muss die Uebergabe dazwischen per GET/POST natuerlich “lueckenlos” geschehen.

ähm seite1.php erstellt die session und seite2.php nimmt die session in einem neuen fenster entgegen, wird weder über get weitergegeben noch explizit in ein cookie geschrieben…

Dann informiere dich, wie die Uebergabe der SID funktioniert, und in welchen Faellen du diese ggf. selber vornehmen musst.

Ich glaube ich habe die Mögliche Fehlerquelle gefunden, denn wenn der Nutzer seine Cookies löscht, und sich dann einloggt, funktioniert alles wieder wie es soll… muss ich dann beim login bzw logout die cookies löschen bevor bzw nachdem ich die session gesetzt habe?

versuchs mal mit einem session_destroy() vor dem Login. (aber nicht auf jeder Seite, sonst ist die Session weg. Nur im Loginscript vor session_start().
Du kannst auch nur die Kekse, die von deinem Host kommen löschen. Und das auch nur, in dem du sie überschreibst und den Expires-Wert (Gültigkeitsdauer) auf ein Datum in der Vergangenheit setzt. Der Rest muss vom Browser selbst vorgenommen werden, da hast du keine Einfluss drauf.

Bsp.:

setcookie("<Das zu löschende Cookie>","",time()-32000);
// setzt den cookie mit einem leeren wert, und einem verfallsdatum vor 32000 sekunden

Du musst wissen, dass wenn du session_start() aufrufst automatisch ein Cookie an den User gesendet wird. Alternativ könnte man das natürlich auch per POST oder GET erledigen, was häufig auch zusätzlich geschiet.

Du musst nur herausfinden warum das Session-Cookie bei einigen Usern gelöscht/verändert wird, und schon hast du den Grund gefunden :wink:

Als erstes solltest du herausfinden unter welchen Bedingungen (Browser) das passiert…