Die beste Option ist, kein aktiv/nicht aktiv-Flag in der Datenbank zu verwenden, sondern etwas wie last_active
zu verwenden Zeitstempel. Wenn der Benutzer auf eine Seite zugreift, aktualisieren Sie den Zeitstempel auf CURRENT_TIMESTAMP()
. Und um festzustellen, ob der Benutzer derzeit aktiv ist, fragen Sie nach WHERE active_timestamp < TIMESTAMPADD(MINUTE, -60, CURRENT_TIMESTAMP())
Stellen Sie sicher, dass Sie active_timestamp
festlegen als DATETIME
Geben Sie die Tabellenstruktur ein. (ALTER TABLE users ADD COLUMN active_timestamp datetime AFTER username'
)
Das Problem hier ist, dass Ihr Skript den Benutzer rausschmeißen möchte, wenn die Sitzung im Leerlauf ist. Dazu sollten Sie sich JavaScript ansehen, einen Timer einstellen, der über 1 Stunde herunterzählt, und wenn keine Aktivität vorhanden ist, die Seite umleiten.