Den bedste mulighed er ikke at bruge et aktivt/ikke aktivt flag i databasen, men i stedet bruge noget som en last_active
tidsstempel. Når brugeren tilgår en side, skal du opdatere tidsstemplet til CURRENT_TIMESTAMP()
. Og for at afgøre, om brugeren er aktiv i øjeblikket, skal du forespørge efter WHERE active_timestamp < TIMESTAMPADD(MINUTE, -60, CURRENT_TIMESTAMP())
Sørg for at indstille active_timestamp
som en DATETIME
indtast tabelstrukturen. (ALTER TABLE users ADD COLUMN active_timestamp datetime AFTER username'
)
Problemet her er, at dit script ser ud til at ville sparke brugeren ud, når sessionen er inaktiv. Til dette bør du se på JavaScript, indstille en timer, der tæller ned over 1 time, og hvis der ikke er nogen aktivitet, skal du omdirigere siden.