Обрабатывать $ _SESSION, хранящуюся в таблице базы данных, когда пользователь очищает данные браузера - PullRequest
0 голосов
/ 07 февраля 2012

У меня есть маленький вопрос о серии "как я могу работать с пользователями, когда они онлайн" ...

Вступление : я использую MySQL для сохранения онлайн-пользователей, когда они, конечно, вошли в систему, и все отлично работает ... когда они выходят из системы, я удаляю строку в таблице "online_users".

Проблема : Когда кто-то очищает данные браузера, $ _SESSION [] становится пустым, и пользователь, конечно, не авторизован, НО в моей базе данных, я все еще наличие строки для этого пользователя, и это означает, что для моей базы данных он в сети ... и это не хорошо, вы знаете.

Первое решение : Я решаю проверять, каждый раз, когда кто-то делал логин, если есть строка с userID в "online_user", чтобы обновить QUERY, иначе я делаю Вставить QUERY.

Но я думаю, что это не лучшее решение, потому что это означает, что у меня есть строка мусора в "online_users", пока они не переделают логин ...

Может кто-нибудь сказать мне, есть ли другое отличное решение для этой проблемы?

Я думаю, что могу использовать HTML5 с локальным хранилищем, но не все браузеры его поддерживают ...

Что мне делать в этом случае?

Спасибо за все ответы.

1 Ответ

5 голосов
/ 07 февраля 2012

Ответ был получен миллион раз: укажите последнее поле активности в своей таблице онлайн-пользователей и удалите строки с последним действием более 15 минут назад

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...