Last Login ermitteln

PaZiHH

Grünschnabel
Hi,

ich möchte in meinen userbereich anzeigen lassen, wenn der user zuletzt eingeloggt war.
Verwenden tu ich sessions im login.
Ich hatte ir erst gedacht, dass wenn die session zerstört wird, automatisch in die tabelle das aktuelle Datum geschrieben wird und dann beim nächsten Login angezeigt wird.
weiss irgendeiner, wie ich das genau mach bzw ob ich das vereinfacht irgendwie machen kann?!
THX schonmal im vorraus :-)

PaZi
 
hmmm... also wenn du wirklich das letzte malangeben willst, als der user eingeloggt war, musst du eine funktion haben, welche bei jedem klick den dein user macht einen timestamp in die db schreibt... ich nehme an du hast ein file welches immer included wirdt... mit den standardfunktionen und so... dan schreibst du dort rein einfach noch ne zeile, welche in der user-db ins feld "lastlogin" den aktuellen timestamp schreibt... in diesem feld ist also immer der aktuellste timestamp...

beim nächsten login des users gibts du ihm dann aus wann der letzte timestamp geschrieben wurde... er also auch seine letzte aktion (eingeloggt) gemacht hat... etwas verwirrt, aber grundsätzlich schon richtig... :-)

antihero

//EDIT: ist sicher nicht der eleganteste weg, aber ein sehr zuverlässiger.
 
Last Login heisst Last Login, weil es anzeigt, wann ein User sich das letzte mal eingelogged hat, oder?
Darum musst Du nur, beim Login einen UPDATE in der Usertabelle machen, der - wie bereits erwähnt - das Datum ändert.
Vorher muss das alte Datum allerding schon in eine Variable gelesen worden sein, da sonst das neue angezeigt wird!

Was man auch machen kann, ist eine Art Login-Log. Du erstellst einfach eine neue Tabelle, in die bei jedem Login eine neue Zeile eingefügt wird (User, Timestamp, IP, Agent, ...) und kannst diese später für eine Statistik benutzen, wann, wie oft und womit einzelne User sich einloggen. Wenn du immer nur die aktuellste Zeile eines Users nimmst, hast du automatisch den "Last Login".

Gruß
BenFish
 
hmmm ja... grundsätzlich heisst last login last login weils halt ums letzte mal einloggen geht... das is scho klar... pazzi hat dann aber was von seiner idee erzählt, die zeit zu nehmen, wenn die session verloren geht... also geht es ihm wahrscheinlichw eniger ums login als um den "letzten moment" eingeloggt... etwas dumm ausgedrückt... :-)

das man das alte datum aus der tabelle nehmen muess bevor man das neue reinschreibt ist von mir aus gesehen eigentlich klar...

antihero
 
Hmm, jetzt wo ichs lese, stimmt. Man könnte natürlich bei jeder aktivität das Datum speichern, so wie es in deinem Ansatz steht, und zusätzlich würde ich dann mein erwähntes logfile schreiben.
Man weiss nie wofür das mal gut sein kann.
 
ja logfile is grundsätzlich immer gut, allerdings sollte mans nicht einfach anlegen aus spass und so, weils halt doch zusätzliche belastung der datenbank darstellt...
jedes login jedes users gespeichert zu halten, kann bei einer mittleren community schon eine ziemlich grosse zusätzliche datenmenge bedeuten...
stell dir vor es sind 20 user registriert, welche sich durchschnittlich 15 mal pro woche (etwas mehr als zweimal pro tag) einloggen, dann ergibt das für eine woche bereits 300 datensätze... in einem Monat dann bereits 1200 datensätze... bei nur 20 registrierten usern... nützlich ist es je nach art des systems schon, aber es kostet halt auch seinen preis...

antihero
 
Zurück