Session aus db löschen sobald user seite schliesst oder verlässt!

harderph

Erfahrenes Mitglied
Ich mal wieder! Vieleicht nerve ich ja schon mit den sessions aber ich komme nicht weiter mit einen bestimmten problem!
Ich möchte gerne das die session eines users wenn er die seite verlässt oder schliesst aus der datenbank gelöscht wird! Ich habe es schon mit javascript versucht das ein extra fenster kommt der dann die session löscht aber das kleine fenster kommt immer wenn ich auf eine andere section will deswegen habe ich es wieder raus gemacht (davonmal ab hat es auch nicht funktioniert)
Jetzt habe ich auch ganz viel gegoogled und hier im forum gesucht aber nichts gefunden! Könnte mir da jemand vieleicht ein denk anstoss geben?:confused:
 
Es ist nicht möglich, festzustellen, ob jemand eine Website endgültig verlassen hat, da das HTTP zustandslos ist.
 
Jo, deshalb sind auch User Online Stats reine Makulatur ^^

Für diese Problematik setzen die meisten Seiten einen Zeitstempel ein. D.h. bei jedem Seitenaufruf des Users wird ein Zeitstempel in die DB geschrieben. Dann kann man ne Abfrage basteln, wann der User, das letzte Mal eine Seite geladen hat. Ist das länger als x Minuten her, dann wird er automatisch ausgeloggt.

Das hat Vor- und Nachteile.
 
Die Garbage-collection-Funktion von PHP, die im Hintergrund abgelaufene Sitzungen löscht, funktioniert auch nicht anders: Bei jedem Aufruf der session_start()-Funktion wird eine Zufallszahl berechnet, die, falls sie in einen gewissen Wertebereich gehört, die interne Garbage-collection-Funktion aufruft, die dann dann wiederum die Sitzungen auf ihre Gültigkeit prüft. Ist eine abgelaufen, wird sie gelöscht.
 
Zurück