Mysql
 sql >> Datenbank >  >> RDS >> Mysql

So aktualisieren Sie die Datenbank automatisch, nachdem die Sitzung abgelaufen ist, ohne auf meiner Seite zu aktualisieren

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.