Как удалить / удалить cookie на php? - PullRequest
10 голосов
/ 01 декабря 2011

Я хочу удалить / удалить свой существующий файл cookie с помощью этого:

setcookie ("user", "", time()-1); 
unset($user);

Но файлы cookie не могут быть удалены или удалены.Так в чем же проблема?

Ответы [ 6 ]

17 голосов
/ 01 декабря 2011

вы можете удалить куки только таким способом, может -1 не работает

попробуйте это

setcookie ("user", "", time() - 3600);
4 голосов
/ 01 декабря 2011

При удалении куки-файла вы должны убедиться, что срок его годности истек.

Удалить пример:

// set the expiration date to one hour ago
setcookie("user", "", time()-3600);
3 голосов
/ 10 февраля 2012

Как уже было сказано - при удалении куки-файла вы должны убедиться, что срок действия истек.

НО вам также нужно использовать тот же путь и даже домен для удаления, который вы использовали для создания cookie, так что если вы создаете cookie, как это

setcookie ("user", "John", time()+7200, '/', 'mydomain.com'); 

чтобы удалить этот cookie используйте этот код

setcookie ("user", "", time()-3600, '/', 'mydomain.com');

, а также лучше использовать конкретную дату в прошлом вместо time () - 3600

3 голосов
/ 01 декабря 2011

Ничего - этот код выглядит хорошо для меня.

Цитирование документов:

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

setcookie ("TestCookie", "", time() - 3600);

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

Кроме того, в некоторых случаях полезно также сбросить $_COOKIE['TestCookie'].

2 голосов
/ 24 июля 2014

// ДОЛЖЕН предоставлять корневой путь или любой конкретный путь к cookie

//SET COOKIE
setcookie ("user", "", time() + 3600 , '/'); 

//UNSET COOKIE
setcookie ("user", "", time()-100 , '/' ); // past time
1 голос
/ 09 июня 2015
setcookie ("user", "", time() - 3600);
//will reset cookie(client,browser)
unset($_COOKIE["user"]);
// will destroy cookie(server)
...