aktive User merken

gussu

Grünschnabel
Hallo zusammen!

Ich habe folgendes Problem:

Es geht darum mir die Aktuell eingeloggten User zu merken!
Soweit auch kein Problem.. Sobald sich die User eingeloggt haben schreibe ich diese in eine Datenbank.

Nun kommt mein Problem.. und zwar wie merke ich, wenn diese Aktiven user nicht mehr "da" sind..
Also wenn die User den Logout button drücken ist dies auch kein problem dann lösch diese wieder herraus..

Nur wie merke ich zb wenn ein User einfach den Browser schließt?
Um dadrauf reagieren zu können ....


Danke im Vorraus
Ich hoffe text ist verständlich ;)
 
Eine Lösung für das Problem wird hier immer wiede gesucht, also einfach auch mal suchen.

Du musst dafür beim Anklicken/Laden jeder Seite speichern das es User XY war und das mit Uhrzeit. Dann kannst du hergehen und festlegen das wenn ein User z.B. 15 Minuten nichts angeklicjt hat, das er dann ausgelogt wird.
 
Hey,
bekanntes und nicht wirklich gelöstes Problem, das es keinen Pull in dem Sinne, in der Webtechnologie gibt.
Je nachdem was dein Server hergibt, kannst du alle X-Sekunden einen Ajax-Request an den Server senden, der übermittelt ob der Benutzer aktiv ist (Mausbewegung, Mausklick) oder eben nicht.
 
Ich habe es so gelöst, das ich den user wenn er sich einloggt in eine datenbank mit uhrzeit
Schreibt.

Bei jedem event was er macht wird der eintrag aktualisiert.

Und um nicht mehr aktive leute zu finden startet zu dem bei jedem seitenwechsel eine anfrage, ober ein user länger als 5 minuten nicht aktiv war. Der wird dann aus der datenbank gelöscht.

Wenn du direktere fragen hast schreib mir eine pm
 
Ich würde die Personen gar nicht aus der Datenbanktabelle löschen, sondern einfach beim Abmelden den Zeitstempel um vielleicht einen Tag zurücksetzen, damit er nicht mehr als aktiv gesehen wird.
 
Hmm, so kann das Ganze aber auch problematisch werden, wenn man z.B. auf dem Profil angeben möchte, wie lange der User bereits inaktiv ist. Wenn man nun beim Logout den Zeitstempel künstlich nach hinten versetzt, dann kann es zu Falschangaben kommen. Ich würde eher ein Flag setzen, LoggedIN (true/false) oder so in der Art, zusätzlich zum Zeitstempel.
 
Na dann würde ich einfach die Zeit speichern zu der er zuletzt aktiv war.

Um zu ermitteln ob online oder offline nimmst du dann die aktuelle Zeit und ermittelst die Differenz zur gespeicherten Zeit. Sind es beispielweise mehr als 5 Minuten wird er als Offline angezeigt.

Im Profil kannst du die gespeicherte Zeit nehmen um anzuzeigen wann der User das letze Mal aktiv war oder seit wann er inaktiv ist.
 
Na dann würde ich einfach die Zeit speichern zu der er zuletzt aktiv war.

Um zu ermitteln ob online oder offline nimmst du dann die aktuelle Zeit und ermittelst die Differenz zur gespeicherten Zeit. Sind es beispielweise mehr als 5 Minuten wird er als Offline angezeigt.

Im Profil kannst du die gespeicherte Zeit nehmen um anzuzeigen wann der User das letze Mal aktiv war oder seit wann er inaktiv ist.

Na und was passiert, wenn er permanent aktiv ist und sich ausloggt? ;) Dann wird er z.B. schon 5min falsch angezeigt.
 
Zurück