Как удалить куки?

Рейтинг: 0Ответов: 2Опубликовано: 07.12.2014

Пробовал так, но браузер выдает ошибку. Ставлю в head.

<? setcookie ("de","",1); ?>

Может, кто подскажет, как их правильно поставить, чтобы они работали?

P.S. Раньше я их не устанавливал, но если куки с браузера не удалить, то обновленная версия сайта будет грузиться некорректно у пользователя. Помогите, пожалуйста.

Ответы

▲ 3Принят

Чтобы удалить куки, нужно их установить с отрицательным значением и, как уже сказали ранее, перед отправкой заголовка.
Попробуй установить куку и сделать редирект на ту же самую страницу, примерно так:

setcookie ("de", "", time() - 3600);
header("HTTP/1.1 301 Moved Permanently");
header("Location: http://".$_SERVER['SERVER_NAME']."".$_SERVER['REQUEST_URI']);
exit();

Обновление

До первого <html> либо до первого echo, для проверки можете вставить в самый верх файла, только не забудьте добавить проверку на существования куки или другие условия, при которых будет срабатывать данный код, иначе у вас зациклится страница. )

if (isset($_COOKIE['de'])) { /* код выше */  }

Как вариант, то бишь проверяем, если стоит кука de, то удаляем ее и делает редирект.

▲ 2

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

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