Najlepszą opcją jest nie używanie flagi active/not active w bazie danych, ale raczej użycie czegoś takiego jak last_active
znak czasu. Gdy użytkownik uzyskuje dostęp do strony, zaktualizuj znacznik czasu do CURRENT_TIMESTAMP()
. Aby określić, czy użytkownik jest aktualnie aktywny, zapytaj o WHERE active_timestamp < TIMESTAMPADD(MINUTE, -60, CURRENT_TIMESTAMP())
Upewnij się, że ustawiłeś active_timestamp
jako DATETIME
wpisz w strukturze tabeli. (ALTER TABLE users ADD COLUMN active_timestamp datetime AFTER username'
)
Problem polega na tym, że twój skrypt chce wyrzucić użytkownika, gdy sesja jest bezczynna. W tym celu powinieneś spojrzeć na JavaScript, ustawić zegar, który odlicza ponad 1 godzinę, a jeśli nie ma żadnej aktywności, przekierować stronę.