удаление куки, не выходя из браузера! - PullRequest
0 голосов
/ 20 июля 2010

Эй, парни

удаление cookie - это простая вещь в php, но проблема до тех пор, пока я не выйду из браузера, он все еще существует

setcookie("PHPSESSID", false);
setcookie("PHPSESSID","",time()-31536000); 

есть ли способ удалить этот cookie без необходимости закрывать браузер?!

так что ты думаешь?!

Ответы [ 2 ]

2 голосов
/ 20 июля 2010

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

Также будьте в курсе домена. Вы всегда должны использовать четвертый параметр, чтобы установить cookie для всех путей на вашем сайте. Если вы этого не сделаете, файл cookie из подпапки может все еще существовать.

Вы можете проверить, что файлы cookie установлены с помощью некоторой функции JavaScript или панели инструментов веб-разработчика для Firefox.

1 голос
/ 20 июля 2010

Правильно уничтожить сеанс и установить истечение срока действия cookie cookie сеанса.

Из руководства по PHP.net по уничтожению сеанса:

    <?php
// Initialize the session.
// If you are using session_name("something"), don't forget it now!
session_start();

// Unset all of the session variables.
$_SESSION = array();

// If it's desired to kill the session, also delete the session cookie.
// Note: This will destroy the session, and not just the session data!
if (ini_get("session.use_cookies")) {
    $params = session_get_cookie_params();
    setcookie(session_name(), '', time() - 42000,
        $params["path"], $params["domain"],
        $params["secure"], $params["httponly"]
    );
}

// Finally, destroy the session.
session_destroy();
?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...