Как удалить значение сеанса из таблицы, когда мы закрываем браузер - PullRequest
0 голосов
/ 27 сентября 2011

Я новичок в PHP.У меня возникла проблема, связанная с сеансом, я создал одну таблицу с полями username, password и одну таблицу temp_session с sessionID.Когда я вхожу с данным именем пользователя, сессия генерируется, и сессия будет сохраняться в таблице temp_session, а когда я выхожу, нажав кнопку выхода, значение сессии удаляется из таблицы tem_session.Я закрываю браузер, в этом случае сеанс истекает, но значение сеанса все еще находится в таблице temp_session. Я хочу удалить это значение через 2 минуты из temp_session после закрытия браузера.какую логику я буду использовать для этого.

Ответы [ 3 ]

0 голосов
/ 27 сентября 2011

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

вам нужно добавить метку времени в таблицу сеансов как время последней активности, установить последнее действие = текущее время, еслиВремя последней активности пользователя и текущая разница во времени не более 2 минут, иначе удалите запись из базы данных.

Давайте обсудим случаи.

при входе вы добавите сеанс в БД.если пользователь простаивает более 2 минут, мы удалим сессию из БД.если идентификатор пользователя не находится в режиме ожидания более 2 минут, чем последнее действие будет установлено в качестве текущего времени.

0 голосов
/ 17 февраля 2016

В Java мы можем справиться с этим через HTTPSessionListner и добавив запись в файл web.xml.Это будет вызвано, когда сессия не активна, и метод session.invalidate (), который мы можем вызвать post после операций, которые мы хотим сделать.

Итак, вы можете попробовать реализовать то же самое в PHP или найти что-то связанное с этим:)

0 голосов
/ 27 сентября 2011

Вот предложение вместо аннулирования sessionId через две минуты, почему вы не сбрасываете значение, когда пользователь снова входит в ваше приложение.Я не эксперт по PHP, но я полагаю, вы должны иметь возможность использовать обработчик session_start для того же самого.в таблице пользователей, которая будет обновляться каждый раз, когда сервер получает запрос, и тогда вы, вероятно, захотите запустить расписание, обновляющее вашу таблицу на основе метки времени. Видите ли вы ненужные накладные расходы, которые вы вводите.

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