![]() |
[PHP] - Online Status anzeigen
Hallo,
weiß jemand einen vernünftigen Weg um den Online Status verschiedener angemeldeter Personenen anzuzeigen. Wichtig: Wie regel ich das mit der Abmeldung (Nutzer schließt einfach den Browser ohne Abmeldung). Viele Grüße ... // Verfügbar: Sessions, CronJobs, DB |
Re: [PHP] - Online Status anzeigen
Du speicherst einfach, wann der Benutzer die letzte Seite angefordert hat.
Alle Benutzer, die in den letzten 4 Minuten eine Seite angeforodert haben, sind online. So in etwa. Du hast immer eine Toleranzzeit, die du geben musst. Wählst du diese zu kurz, werden online-User offline angezeigt. Zu lang, und offline-User werden online gezeigt. Da HTTP ein Verbindungsloses Protokoll ist, kannst du den genauen Zetpunkt, wann ein Benutzer den Browser zu macht, nicht festmachen. (Evtl. könntest du da n paar Sachen mit Javaascript machen, aber so richtig schön ist das immernoch nicht ...) Edit: Javascript könnte dir insoweit helfen, dass du bei einer Karaanzzeit von bspw. 3 Minuten alle 2,5 Minuten nen Ajax-Request sendest, dass der Benutzer immernoch online ist. Abmelden im OnClose-Ereignis ist beim Tabbed-Browsing suboptimal ;) |
Re: [PHP] - Online Status anzeigen
Hi,
also spontan würde ich sagen, wenn sich ein User anmeldet schreibst du seinen Nick und einen Timestamp in die Datenbank. Jedes Mal, wenn der User auf eine Seite klickt wird der Timestamp aktualisiert. Wenn der User sich ausloggt, entfernst du ihn aus der DB. Dann brauchst du nur noch überprüfen ob ein Timestamp älter als 5 oder 10 Minuten ist dann kennzeichnest du den User ebenfalls als ausgeloggt (würde dann zutreffen wenn er den Browser einfach geschlossen hat o.a.). |
Re: [PHP] - Online Status anzeigen
Zitat:
|
Re: [PHP] - Online Status anzeigen
Hi,
danke, das ist glaube ich der richtige Ansatz. Da ich Ajax sowiso einsetzte kann ich darauf ganz gut aufbauen Viele Grüße ... |
Re: [PHP] - Online Status anzeigen
Für was für ein System brauchst du die Funktion denn? Selbstgeschrieben? Vielleicht könntest du aus der viewonline.php des phpBB-Forensystems etwas Code "entnehmen" bzw. dir anschaun, wie die das machen.
|
Re: [PHP] - Online Status anzeigen
Hi,
ja das System ist selbst entwickelt, aber ich werd beim BB mal reinschauen :mrgreen: Viele Grüße .... |
Re: [PHP] - Online Status anzeigen
also ich würd das problem mit ner session lösen und die daten in der DB speichern, das is am leichtesten.
hier sind mehrere lösungsansätze möglich: 1. wie gesagt user onlinestatus + timestamp speichern und toleranzzeit von 5min einbauen 2. du nutzt das onClose ereignis von javascript und rufst ne logoff funktion auf beides zusammen ist ganz praktisch du kannst timestamp und ipadresse genauso gut in ner textdatei speichern is aber etwas umständlicher wenn du die onlinezeit genauer haben willst, denn bau ein unsichtbares iframe ein, dass alle paar sekunden die onlinezeit erneuert z.B. 30sek dann setzt du die toleranz auf 1min |
Re: [PHP] - Online Status anzeigen
Zitat:
|
Re: [PHP] - Online Status anzeigen
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:12 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz