De beste optie is om geen actieve/niet-actieve vlag in de database te gebruiken, maar eerder iets als een last_active
tijdstempel. Wanneer de gebruiker een pagina opent, werkt u de tijdstempel bij naar CURRENT_TIMESTAMP()
. En om te bepalen of de gebruiker momenteel actief is, zoekt u naar WHERE active_timestamp < TIMESTAMPADD(MINUTE, -60, CURRENT_TIMESTAMP())
Zorg ervoor dat u active_timestamp
. instelt als een DATETIME
typ de tabelstructuur in. (ALTER TABLE users ADD COLUMN active_timestamp datetime AFTER username'
)
Het probleem hier is dat je script de gebruiker eruit lijkt te willen schoppen wanneer de sessie inactief is. Hiervoor moet je naar JavaScript kijken, een timer instellen die meer dan 1 uur aftelt en als er geen activiteit is, de pagina omleiden.