2014-01-02 3 views
0

Я хотел бы знать, почему я не могу удалить cookie с классом, но могу без каких-либо классов.PHP cookie не удаляет с классом

cookies.php

static public function Delete($name, $expiry){ 
    unset($_COOKIE[$name]); 
    setcookie($name, false, $expiry, '/'); 
} 

index.php

if(Cookie::Exists('country')){ 
    Cookie::Delete($_COOKIE['country'], time() - 3600); 
} 

Это не работает. Ниже приведен код.

if(Cookie::Exists('country')){ 
    setcookie('country', false, time() - 3600, '/'); 
} 

У меня нет ошибок. Я сделал echo контента с обоими двумя вариантами, первый из которых echo всегда извлекает контент. Второй - только для получения содержимого 1 раз (после того, как это было удалено .. это правильно).

+1

Вы пробовали: 'Cookie :: Delete ('страна', время() - 3600);'? – Joe

+3

В первом примере вы передаете значение cookie как параметр, а не имя – engvrdr

ответ

0

Cookie::Delete($_COOKIE['country'], time() - 3600);

Вы передаете в значении Куки в качестве имени для вашего печенья. Поэтому, если страна была «UK» в cookie, ваш метод DELETE установит cookie с именем «UK», срок действия которого истекает.

Изменение слишком

Cookie::Delete('country', time() - 3600);

+0

Я приму ваш ответ за 6 минут. Благодарю. – user3065191

Смежные вопросы