要检查存在哪些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已被删除!
谢谢:)
答案 0 :(得分:1)
这是我用来删除Cookie的方法
if (isset($_COOKIE['cookieName'])) {
setcookie('cookieName', '', time()-1);
}