Задать вопрос
Cuthbert_Allgood
@Cuthbert_Allgood
Программирую на РHP

PHP: Как удалить пользователя из базы после истечения сессии?

Добрый вечер.

Предыстория: делаю простой чат. Для регистрации пользователь указывает только никнейм. Никнейм - не уникален, может быть несколько пользователей с одним никнеймом. При быстрой регистрации пользователь добавляется в базу, при разлогине - пользователь удаляется. Пользователь может создавать комнату или заходить в комнаты. Если пользователь уходит из комнаты последним - она удаляется.

Проблема: если пользователь зашёл в комнату, отошёл от компьютера и у него закончилась сессия. В итоге остаётся мёртвая комната с мёртвым пользователем в базе.

Вопрос: как решить такую проблему? Может быть есть какие-то стандартные функции? Или можно посмотреть по какому-нибудь примеру? Необходимо как-нибудь проверить, если кончилась сессия у пользователя, то удалять его из базы.

Использую фреймворк YII2.
  • Вопрос задан
  • 622 просмотра
Подписаться 1 Оценить Комментировать
Ответ пользователя xmoonlight К ответам на вопрос (4)
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
таблица Activity, которая хранит последнее действие пользователя.
Если следующее действие было с интервалом, превышающим время сессии - удаляем комнату.
Ответ написан
Комментировать