Letzter Login umsetzen

M-P

Mitglied
Also ich möchte so wie z.b. auch hier im Forum anzeigen:

"Dein letzter Besuch war am 10.05.2009 um 22:26"

Ich habe mir gedacht ich setzte das einfach mit 2 Variablen um:

Nutzer loggt sich ein -> Lastlogin wird erstellt.
Lastlogin 2 wird in Session gespeichert dann wird Lastlogin 2 mit Lastlogin überschrieben.

Nun habe ich eine Weile nach dem Befehl zum überschreiben eines Teils eines Datensatzes gesucht und folgendes gefunden:

PHP:
$input="UPDATE benutzerdaten SET `Lastlogin2` =  '$Lastlogin' ";
$eintragen = mysql_query($input) or die(mysql_error());

aber dann bekomm ich nur einen komplett neuen Datensatz.Ich will dass ja zum Datensatz des eingeloggten hinzuschreiben.

hab schon verschiedene Konstruktionen mit:

PHP:
WHERE Email like  '".$_REQUEST['Email']."';

versucht und in Google gesucht aber mal wieder nichts gefunden =(
 
Hi,

ich würde das ganze in einer seperaten Tabelle speichern.
Und als Sql-Statement beispielweise:
PHP:
$sql = 'REPLACE INTO
			`last_login` (`user_id`,`login_time`)
		VALUES
			(' . intval ($user_id) . ',' . time() . ')';

Die Tabelle würde hier last_login benannt sein und als Felder nur die Benutzer-Id und den Zeitstempel. Und die Benutzer-Id auf Unique setzen.
 
Hi,

ich denke man benötigt weder eine zweite Tabelle, noch zwei Attribute...

1. Nach erfolgreichem Login lastlogin auslesen und in Session speichern
2. lastlogin durch die aktuelle Uhrzeit überschreiben
3. Während der aktiven Session lastlogin aus der Session auslesen

PHP:
$GETLASTLOGIN_STMT = "select lastlogin from users where uuid='".$userid."'";
$UPDATELASTLOGIN_STMT = "update users set lastlogin='".time()."' where uuid='".$userid."'";

if($login == true) {
$_SESSION['lastlogin'] = mysql_query($GETLASTLOGIN_STMT);
mysql_query($UPDATELASTLOGIN_STMT);
}

echo "Letzter Login: ".$_SESSION['lastlogin'];

Gruß,
Manuel
 
  • Gefällt mir
Reaktionen: M-P
ich würde das auch mit einer extra Tabelle machen.
Und du brauchst keine 2 Einträge. Es reicht wenn du am Anfang des Login die Zeit einließt und diese in der Session speicherst, dann kommt die mit dem User während der Session immer mit. Nachdem du die Zeit in die Session geschrieben hast, kannst du die aktuelle Zeit in der Datenbank eintragen.
 
Nur warum die zweite Tabelle? Die ist an dieser Stelle total überflüssig und es bedarf ihr auch nicht aus Gründen irgendwelcher Normalformen... Es macht die Applikation nur etwas komplizierter und u. U. sogar unperformanter.
 
DANKE für eure Hilfe ich habe es genauso umgesetzt wie Manuel beschrieben hat.
Finde ich persöhnlich auch die beste Lösung =)
 
Stimmt, die zweite Tabelle ist in der Tat unnötig, ich war bloß noch in meinem Projekt gefangen.

Wenn das Problem gelöst ist, bitte als Erledigt markieren.
 
Zurück