Hello,
Wie macht man sowas normalerweise?
indem man für den Client eine Session startet.
In der Sessiondatei kann man sich solche Daten merken, wie Usernummer, Username, aktuelle Rechte.
Um diese nun bei jedem Request zu verifizieren, greift man auf die Anmeldedaten in der Datenbank zu.
Das ist ein Statement:
update login
set lastrequest
= now()
where usernummer
= $usernummer and session
= session_id()
Wenn das Query einwandfrei durchläuft, ist der User (noch) berechtigt, weiterzusurfen, sonst hast Du ihm vielleicht schon die Rechte entzogen, indem einfach die Session-ID gelöscht wurde aus der Datenbank und das Flag "enable_login" oder die ausführlicheren Rechte gekippt wurden.
Die benötigst Du aber nur beim anmelden...
Wenn Du dann eine Datenbankabfrage machst: "Wer ist Online", dann bedeutet das ja nur, "Wer hat innerhalb der letzten X Minuten einen Request abgesezt"
Da kannst Du noch sowas wie "aktiv", "schon im Gehen?, und "gegangen" einführen, je nachdem, wann der letzte Request stattgefunden hat.
Mehr Aussagen kannst Du in einem verbindungslosen Protokoll nicht treffen.
Harzliche Grüße vom Berg
http://bergpost.annerschbarrich.de
Tom
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
Nur selber lernen macht schlau
Ein Jammer ist auch, dass die Dummen so selbstsicher und die Klugen voller Zweifel sind. Das sollte uns häufiger zweifeln lassen :-)