Bei mir auf der Seite habe ich das so geregelt, dass ich in die Tabelle, in der die Nutzer stehen, eine Spalte mit einem Timestamp eingefügt habe.
Dieser Timestamp wird bei jedem Klick auf der Seite aktualisiert.
Die Seite, die anzeigt, welche Benutzer online sind, zeigt nur die Benutzer an, die in den letzten 3 Minuten etwas auf der Seite gemacht haben. Meldet sich jemand ab, wird der Timestamp 3 Minuten und 1 Sekunde zurückgesetzt, damit diese Person nicht noch weitere 3 Minuten auf der Seite als online angezeigt wird.
Das funktioniert ganz gut.0