Logout - automatisch
Einklappen
X
-
Ist 'last' auch vom Typ datetime?
Die Datumsfunktionen von MySQL kann man auf alle Datumsfelder anwenden. UNIX_TIMESTAMP ist also quatsch
Ausserdem muss es glaub ich "minute" anstatt "minutes"heißen.
http://dev.mysql.com/doc/refman/5.0/...functions.html
Code:SELECT * FROM tab1 WHERE last > DATE_SUB(NOW(), INTERVAL 5 MINUTE);
Einen Kommentar schreiben:
-
frage bevor ich es teste... das feld 'last' wir NOW() gefüttert... passt das dann mit dem Timestamp?
Einen Kommentar schreiben:
-
PHP-Code:$online_user = mysql_query
("SELECT id, name FROM xjonx_user WHERE UNIX_TIMESTAMP(DATE_ADD(last, INTERVAL 5 MINUTES)) > UNIX_TIMESTAMP(NOW()) ;");
Einen Kommentar schreiben:
-
ok danke für diesen ansatz. stellt natürlicj auch meine frage nen bissle.
es geht ja eigentlich nicht unbedingt um den logout. sondern um die
online - offline anzeige eines user...
PHP-Code:$online_user = mysql_query
("SELECT id, name FROM xjonx_user WHERE last > (NOW(), 5 MINUTES) ;");
PHP-Code:WHERE last > DATE_SUB(NOW(), INTERVAL 5 minutes)
Zuletzt geändert von xJonx; 06.05.2006, 01:02.
Einen Kommentar schreiben:
-
setzt ein updatefeld mit rein timestamp
und wenn der user zb 5min keine aktivität gemacht hat gillt er als offline...
Einen Kommentar schreiben:
-
Logout - automatisch
Also,
hab da mal eine Frage. Kann mir da mal einer einen Ansatz oder gar eine Lösung nennen?
Und zwar ist es das leidige Thema des UserManagement:
Ich hab ein Login, bei dem neben der Abfrage für Nutzer und Passwort,
noch eine Funktion eines Updates für 'Last Login', 'SID' und 'online'...
Sieht aus wie folgt:
PHP:
mysql_query('UPDATE
`xjonx_user`
SET `last` = NOW(), `sid` = ''.$_SESSION['sid'].'', `online` = '1'
WHERE `id` = '.$_SESSION['id'].' ;') ;
Zur funktion, für die den es nicht ganz klar ist:
last = last login - damit im Profil eben genau dieser angezeigt wird.
online = wird auf 1 gesetzt, damit angezeigt wird, das der nutzer online ist
und genau da fängt das problem an // da fängt die frage an:
Das online = 1 wird beim logout auf 0 gesetzt.
Aber, was wenn der Nutzer sich nicht ausloggt?
Dann würde zwar der Nutzer nach dem Standard verfall der Session
sich wieder einloggen müssen - aber er würde noch weiter auf
der Seite als Online angezeigt werden...
Kann mir da jmd weiter helfen?Stichworte: -
Einen Kommentar schreiben: