Най-добрият вариант е да не използвате активен/неактивен флаг в базата данни, а по-скоро да използвате нещо като last_active
клеймо за време. Когато потребителят осъществи достъп до страница, актуализирайте клеймото за време на CURRENT_TIMESTAMP()
. И за да определите дали потребителят е активен в момента, потърсете WHERE active_timestamp < TIMESTAMPADD(MINUTE, -60, CURRENT_TIMESTAMP())
Уверете се, че сте задали active_timestamp
като DATETIME
въведете структурата на таблицата. (ALTER TABLE users ADD COLUMN active_timestamp datetime AFTER username'
)
Проблемът тук е, че вашият скрипт изглежда иска да изгони потребителя, когато сесията е неактивна. За целта трябва да погледнете JavaScript, да зададете таймер, който отброява над 1 час и ако няма активност, да пренасочите страницата.