PHP Session help - PullRequest
       1

PHP Session help

2 голосов
/ 16 февраля 2010

У меня есть сеанс, который отлично работает, ожидайте одного, если я закрою браузер, сеанс будет разрушен, однако, если я закрою текущую вкладку и затем вернусь на сайт, сеанс все еще существует, как я могу убедиться, что сеанс уничтожается как при закрытии вкладки, так и при закрытии окна?

Ответы [ 2 ]

2 голосов
/ 16 февраля 2010

Проблема здесь в поведении браузера. Файлы cookie обычно не уничтожаются до тех пор, пока браузер не будет закрыт, а сеансы PHP поддерживаются с помощью файла cookie идентификатора сеанса.

Лучше всего установить тайм-аут сеанса на значение, которое короче значения по умолчанию (я полагаю, 15 или 30 минут)

Вы можете попробовать что-то сделать с onunload, как предлагает Anonymous, но событие onunload не гарантированно сработает, поэтому вы не будете уверены, что сеанс был уничтожен.

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

0 голосов
/ 16 февраля 2010

Вы не можете проверить закрытие вкладки с помощью php, вы должны сделать это с помощью комбинации события javascript onunload и вызова ajax, чтобы запросить метод уничтожения для сеанса на стороне сервера.

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