Cookie无法正常删除

时间:2012-01-06 22:11:39

标签: php cookies

要检查存在哪些cookie我使用此文件(test.php):

foreach ($_COOKIE as $key => $value) {
    print $key . "=" . $value . "</br>";
}

我得到以下输出:

fbsr_{app id}={a bunch of chars}

({}内的东西是私人数据)

要删除我的所有会话,请使用此功能:

session_start();
session_unset();
session_destroy();

这是为了删除我的cookies:

setcookie('fbsr_' . $app_id, $_COOKIE['fbsr_' . $app_id], time() - 3600);
setcookie('PHPSESSID', $_COOKIE['PHPSESSID'], time() - 3600);
unset($_COOKIE['fbsr_' . $app_id]);   
unset($_COOKIE['PHPSESSID']);

问题是当我运行代码检查我的cookie是否已经死亡时,它们不是,并且我得到相同的输出:/

为什么我的cookies没有删除?我的代码在某处坏了吗?尝试了几种浏览器......

修改 好像饼干毕竟被破坏了,但是测试功能仍然打印出cookie输出?!?!我很困惑?!

(退出文件)

if($action == 'logout'){

        $app_id = $facebook->getAppID();

        if (isset($_COOKIE['fbsr_' . $app_id])) {
            echo 'goes here<br>';
            setcookie('fbsr_' . $app_id, $_COOKIE['fbsr_' . $app_id], time() - 3600, "/");
            setcookie('PHPSESSID', $_COOKIE['PHPSESSID'], time() - 3600, "/");
            unset($_COOKIE['fbsr_' . $app_id]);   
            unset($_COOKIE['PHPSESSID']);
        }

        if (isset($_COOKIE['fbsr_' . $app_id])) {
            echo 'is still sett<br>';
        }

        session_start();
        session_unset();
        session_destroy();

        $result = array("success" => "true");
    }

它永远不会打印is still sett,这意味着cookie已被删除!

谢谢:)

1 个答案:

答案 0 :(得分:1)

这是我用来删除Cookie的方法

if (isset($_COOKIE['cookieName'])) {
     setcookie('cookieName', '', time()-1);
}