饼干没有立即消灭,饼干在1分钟后消失

时间:2013-05-05 07:43:15

标签: php cookies

我已设置if no session OR cookie,页面将标头为索引。会话销毁工作正常,但cookie有问题。

当我销毁cookie(退出)时,页面没有直接指向索引,必须等待1分钟。饼干在1分钟后消失。任何人都知道问题在哪里。

setcookie('id', $id, time()+60, "/");

function destroySession() {
    $_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();
}

1 个答案:

答案 0 :(得分:0)

您正在设置名为id的Cookie,并尝试取消设置名称是session_name()结果的Cookie。如果session_name()恰好返回id,那么这将有效,但如果它返回其他内容则不会。

我会使用session_name()来设置Cookie:

$id = session_id();
setcookie(session_name(), $id, time()+60, "/");

另请注意,最好将session_set_cookie_params()用于所有参数。当您致电session_start()

时,会自动设置Cookie