Mailinglisten-Archive |
Hallo, ich habe ein paar Verständnisproblem bei dauerhaften Logins mit Cookies. Folgende Situation: Wenn sich ein Benutzer einloggt, legt mein System zum einen in der Datenbank einen Datensatz für die Session an. Zum anderen wird ein Cookie mit expire=0 gesetzt. Danach erfolgt ein Redirect. Sobald der Benutzer seinen Browser schliesst, wird der Cookie somit automatisch gelöscht. Bei jedem Seitenaufruf wird der Sessiondatensatz für diesen Benutzer aktualisiert. Als weitere Funktion wird bei jedem Seitenabruf geprüft, wann der Benutzer das letzte Mal aktiv gewesen ist. Hat er 30 Minuten lang keine neue Seite mehr aufgerufen, wird der Sessiondatensatz gelöscht und der Cookie ebenfalls. Neues Feature: Ich möchte nun den Benutzern zusätzlich als Alternative einen "dauerhaften" Login anbieten. Für den Cookie verwende ich bei expire dann 60x60x24x365, d.h. der Cookie soll 1 Jahr gültig bleiben, wenn sich der Benutzer nicht aktiv ausloggt. Klappt auch soweit ganz gut. Mein Problem: da ich bei jedem Seitenaufruf prüfe, ob der Benutzer in den letzten 30 Minuten aktiv war oder nicht, führt dies zu dem Problem, dass der Benutzer automatisch ausgeloggt wird, sollte er z.B. einige Stunden später wieder auf die Seite gelangen. Kann ich mit PHP irgendwie erkennen, auf was der expire Wert des Cookie gesetzt ist? So dass ich unterscheiden kann, ob es ein dauerhafter Cookie war oder nicht? Gibt es andere Möglichkeiten, das Problem zu lösen? Irgendwie habe ich ein Brett vorm Kopf und denke, dass die Lösung ganz nah ist. :( Danke für jeden Tipp. Gruss, Ralf
php::bar PHP Wiki - Listenarchive