Невозможно удалить куки - PullRequest
0 голосов
/ 05 января 2012

Я использую куки как функцию запомнить меня на моем сайте. Мой метод создает несколько файлов cookie, которые работают как брелок, однако я не могу впоследствии удалить или изменить эти значения.

Я создаю их:

private function setCookies($userInfo) {
    setcookie("profileID",$userInfo["profileID"],time()+60*60*24*30);
    setcookie("userLevel",$userInfo["levelID"],time()+60*60*24*30);
    setcookie("username",$userInfo["username"],time()+60*60*24*30);
    setcookie("fullname",$userInfo["fullname"],time()+60*60*24*30);
    return true;
}

и мой метод выхода из системы:

public function logout() {
    session_destroy();
    setcookie("profileID","",time()-60*60*24*30*12);
    setcookie("userLevel","",time()-60*60*24*30*12);
    setcookie("username","",time()-60*60*24*30*12);
    setcookie("fullname","",time()-60*60*24*30*12);
    return true;
}

Оба эти метода вызываются в файле контроллера перед любым выводом в браузер (заголовок). Хуже всего то, что он даже не меняет значения, перечисленные в списке выше, на «», а остается с исходными значениями.

Есть идеи? Я не слишком много работал с куки, так что это может быть простой ошибкой:)

Ответы [ 3 ]

1 голос
/ 05 января 2012

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

http://php.net/manual/en/function.session-destroy.php

Для того, чтобы снова использовать те же cookie-файлы, вам потребуется вызвать session_start () перед этим.Вы вызываете session_destroy (), а затем пытаетесь установить файлы cookie.

0 голосов
/ 05 января 2012

Используйте session_unset() перед session_destroy() в методе выхода из системы

0 голосов
/ 05 января 2012

Файлы cookie, обновленные до отрицательного времени или 0 раз, будут удалены только при перезагрузке браузера, если я не ошибаюсь.Истечение срока действия файлов cookie управляется методом очистки браузера, который запускается при закрытии браузера.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...