關於該問題有很多帖子,但我無法修復它。我試着以註銷在PHP用戶刪除一個cookie,做一個重定向算賬:PHP:在重定向失敗之前刪除cookie
$currentCookieParams = session_get_cookie_params();
session_set_cookie_params($currentCookieParams['lifetime'], '/', $currentCookieParams['domain'], $currentCookieParams['secure'], true);
session_name("PHPAUTH");
session_start();
$_SESSION = array();
if (ini_get("session.use_cookies"))
{
$params = session_get_cookie_params();
setcookie(session_name(), '', time() - 42000, $params["path"], $params["domain"], $params["secure"], $params["httponly"]);
}
session_destroy();
header("Location: http://localhost/Home/Index");
exit;
但Cookie依然存在。當我禁用重定向時,cookie被成功刪除。但是對於重定向,cookie不會被刪除。
如何確保cookie隨後被重定向刪除?
編輯:
好像我自己的代碼重新創建的cookie中的下一個請求。我想檢查用戶是否仍然登錄,如果沒有重定向到登錄頁面:
$currentCookieParams = session_get_cookie_params();
session_set_cookie_params($currentCookieParams['lifetime'], '/', $currentCookieParams['domain'], $currentCookieParams['secure'], true);
session_name("PHPAUTH");
session_start();
if (!array_key_exists('angemeldet', $_SESSION) || !$_SESSION['angemeldet'])
{
header("Location: http://localhost/Account/LogOn");
exit;
}
如何在不重新創建cookie的情況下檢查此問題?也許一個愚蠢的問題,但我很困惑的時刻...
很可能會在下一個請求中再次設置會話cookie? – Gerry 2013-04-07 11:04:26
如何在(我猜是index.php)http:// localhost/Home/Index的文件看起來像? – bestprogrammerintheworld 2013-04-07 11:38:50
localhost/Home/Index不僅是一個文件,它是MVC引擎的一部分。控制器Home的操作索引視圖在「佈局」頁面中呈現。但我用普通的網址進行了測試,問題仍然存在。 – tklepzig 2013-04-07 12:01:05