Hallo liebe bplaced-Gemeinde,
ich habe mal wieder ein Problem:
Ich möchte gerne realisieren, das, wenn ich den Adminbereich betrete, es mir anzeigt, wann mein letzter Login war.
Ich melde mich an, diese Zeit wird gespeichert.
Wenn ich abmelde, wird diese Zeit ebenfalls gespeichert.
Das klappt auch alles wunderbar.
Nun zu meinem Problem:
Wie schaffe ich es, das wenn man sich ohne “abmelden”, also einfach das Fenster schließt, abmeldet, dass er zum Beispiel nach 30 Minuten ohne Aktivität (die letzte Aktivität wird auch in einer Tabelle gespeichert) automatisch die Zeit letzte Aktivität + 30min in die Tabelle speichert, sozusagen als letzte Logout-Zeit (und das, obwohl ja keine Aktivität mehr seitens des Benutzers ist, da ja dieser bereits das Fenster und alles geschlossen hat).
Weil es liegt ja auch daran, das die Session auch nur eine bestimmte Lebensdauer hat, ist diese überschritten, kann ich ja die Zeit (letzter Logout) nicht mehr einem Benutzer zuweisen, da die Session ja bereits weg ist.
Daran solltest du schon selber merken, dass ein Abspeichern in diesem Falle kaum sinnvoll realisierbar ist.
Also berechne den Pseudo-Logoutzeitpunkt in diesem Falle einfach.
Edit: Wenn du nur den letzten Login-Zeitpunkt anzeigen willst, wie es im Titel steht - welches Problem hast du dann eigentlich? Der Zeitpunkt des Logins änderst sich doch nicht abhängig davon, ob ich mich auslogge oder nicht.
du kannst doch bei jedem login prüfen ob es user gibts, die ne letzte-Aktion-Zeit aber keine Logout-Zeit haben oder bei denen die letzte-Aktion-Zeit später ist als die Logout-Zeit und dann bei den entsprechenden Usern die Logout-Zeit = letzte-Aktion-Zeit+30min setzen…oder das per Cronjob machen. aber ich denk mal , dass das hier nciht geht.