Страницы

Поиск по вопросам

вторник, 23 апреля 2019 г.

PHP: почему не удаляется cookie?

Если я прописал в php коде такое:
setcookie("Hello", "Привет!"); echo $_COOKIE["Hello"];
И мне выводит Привет!
Но после того как я прописал
unset($_COOKIE["Hello"]); echo $_COOKIE["Hello"];
И все стало норм мне не вывело Привет! И после того как я убрал unset мне снова вывело Привет! Как убить кукис что бы он опять не выводился больше?


Ответ

Если вы не назначаете cookie время жизни, то она становится сессионной и действует до момента, пока пользователь не выключит браузер. Уничтожать ее только на сервере бесполезно, нужно заставить браузер стереть ее и не отправлять больше при помощи HTTP-заголовка Set-Cookie.
Поэтому чтобы уничтожить сессионную cookie ей необходимо выставить время жизни совпадающее с текущим или более раннее время - в этом случае браузер уничтожит ее на своей стороне и не будет отправлять HTTP-заголовок Set-Cookie, который инициализирует значение в массиве $_COOKIE
setcookie("Hello", "", time() - 100);

Комментариев нет:

Отправить комментарий