Я пытаюсь удалить cookie.
Я использую setcookie("PHPSESSID", "", time() - 6400);
который удаляет cookie просто отлично.
Однако он не полностью удален. Когда вы смотрите на firebug, в разделе «Заголовки ответов» cookie удаляется. Однако в разделе «Заголовки запросов» cookie не удаляется (и это влияет на поведение кода).
Хо, я удаляю (или изменяю или получаю доступ) этот другой файл cookie?
Благодаря!
У меня была такая проблема для моего кода выхода, после тяжелой работы и исследований я сам наконец понял это и использовал javascript для решения проблемы.
Вы можете легко сделать это на стороне клиента, используя сценарий ниже, вам может потребоваться изменить значение пути и хоста:
document.cookie = "PHPSESSID=; expires=Thu, 01 Jan 1970 00:00:00 UTC;path=/;host=localhost";
Возможно, вы захотите также отключить переменную $ _COOKIE, добавив
unset($_COOKIE['PHPSESSID']);
в следующей строке. Это, однако, влияет только на загруженную страницу.
использование setcookie("PHPSESSID", "", time() - 6400);
истекает срок действия cookie, как 2 часа назад, попробуйте использовать setcookie("PHPSESSID", "", 1);
чтобы истечь его в эпоху 1 января 1970 года.
если это не сработает, вы можете попробовать добавить путь, как этот setcookie("PHPSESSID","",time()-6400,"/");
Вы можете попробовать этот пример с http://www.php.net/manual/en/function.setcookie.php#73484, чтобы удалить все файлы cookie, но я с тех пор, похоже, это своего рода суперкубок, который знает ..
// unset cookies if (isset($_SERVER['HTTP_COOKIE'])) { $cookies = explode(';', $_SERVER['HTTP_COOKIE']); foreach($cookies as $cookie) { $parts = explode('=', $cookie); $name = trim($parts[0]); setcookie($name, '', time()-1000); setcookie($name, '', time()-1000, '/'); } }
Этот код может решить эту проблему:
session_start(); // initialize session session_destroy(); // destroy session setcookie("PHPSESSID","",time()-3600,"/"); // delete session cookie
См. Пример 1 здесь, чтобы удалить и уничтожить сеанс:
http://php.net/manual/en/function.session-destroy.php
сначала отключите файл cookie, а затем уничтожьте сеанс.