Hilfe bei Logout

NanoNuna

Mitglied
Hallo zusammen,

benötige Eure Hilfe!

Ich habe eine kleine Benutzerverwaltung programmiert. Login und Logout funktionieren reibungslos.
Mein Frage laut, wie bekomme ich es hin, dass wenn ich angemeldet bin und ich nur das Browserfenster schliesse (also nicht auf Logout klicke), ich mich automatisch abmelde
Das ist für mich wichtig, da sich bei mir immer nur ein Benutzer anmelden kann!

Hoffe mir kann jemand weiterhelfen. Zeige Euch auch gerne den Code.

Vielen Dank im Voraus.

Gruß
Nano
 
Wenn du es über eine Session abbildest, solltest du sicher gehen, dass diese nur X Minuten andauert. Nach X MInuten "nichtstun" sollte die Session ungültig werden.

Gehst du über einen Cookie solltest du das selbe tun.


Für alles andere wäre der Code der Login-Function mehr als hilfreich
 
Also bei der login Funktion setzt ich in der db spalte login_stamp eine 1 und bei der logout Funktion eine 0.
Bevor man sich einloggen kann wird überprüft ob jemand eingeloggt ist oder nicht.

Die Frage ist wie könnte man das machen, dass die logout Funktion beim Browser schließen ausgeführt wird?
 
Doch, doch, das geht schon. ;)

Wenn man Sessions verwendet ist es relativ einfach, man speichert die Session-ID mit in der DB und prüft dann mit nem Crontab o.ä. ob die Session noch aktiv ist, wenn nicht setzt der Crontab die "login_stamp" auf 0.

Wenn man Cookies verwendet kann man die Aktivität des Users ebenfalls kontrollieren, einfach bei jedem klick, formular abschicken etc. einen timestamp in einer Tabelle speichern und wieder per Crontab alle X Minuten prüfen wie lange da kein Update mehr stattgefunden hat und wenn Zeit X überschritten wurde wird "login_stamp" wieder auf 0 gesetzt.
 
So habe ich ihm das ja auch gesagt in einem anderen Thread, aber meine Antwort war darauf bezogen, dass wenn der Browser geschlossen wird nichts in eine mysql Datenbank geschrieben werden kann.
 
Da hast du allerdings Recht, ich umgeh das ganze ja auch nur.
Ich hab zwar eine Zeitverzögerung drin aber die sollte dabei nicht stören.

Wollt dich auch nicht kritisieren oder sowas ;)
 
Sowar das jetzt auch nicht von meiner Seite her gemeint ;)

Aber die Crontabs kann man sich auch sparen, einfach wenn sich jemand neu einloggt wird überprüft ob was altes vor liegt. So spart man Traffic :p
 
Jepp, stimmt kann man auch machen...Ich geb ja zu, ich bin so nen kleiner Crontab-Fetischist *gg* und bei lokalen Crontabs gibts auch keinen Traffic. ;)
 
Zurück