PHP - уничтожить сессию и удалить куки - PullRequest
0 голосов
/ 10 января 2020

У меня проблема с очисткой сообщения ie, когда сеанс уничтожен или истек. Я создаю приложение с сеансом (зарегистрированный пользователь) и файлами cookie (корзина), и я должен очистить корзину, когда сеанс уничтожен или истек. Я пытаюсь использовать $ _SESSION [SESSION_NAME], но не всегда $ _SESSION [SESSION_NAME] удалялся после уничтожения или истечения срока действия.

if(!isset($_COOKIE[SESSION_NAME])) {
   clearCookie();
}

Когда я удаляю cook ie с идентификатором сеанса, файлы cookie были очищено, но когда истекает время сеанса, значит cook ie (и cook ie с идентификатором сеанса) существуют.

Я перепробовал все функции сеанса (https://www.php.net/manual/en/ref.session.php), но я не нашел хорошего решения. Как очистить cook ie, когда сеанс был удален или истек?

Ответы [ 2 ]

0 голосов
/ 10 января 2020

установить значение повара ie на предыдущую дату

setcookie($cookie_name, '', time() - (86400 * 30), "/","");  // 86400 = 1 day
session_destroy();
0 голосов
/ 10 января 2020

Поскольку ваш повар ie идентифицирован по данным из вашего сеанса , было бы логично удалить / удалить повара ie перед уничтожением сеанса.

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

Примерно так:

clearCookie();
unset($_SESSION);
session_destroy();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...