如何在PHP中完全删除$\u COOKIEs
我有以下PHP脚本:如何在PHP中完全删除$\u COOKIEs,php,cookies,Php,Cookies,我有以下PHP脚本: foreach( $_COOKIE as $key => $value ) { if( strpos( $key, 'ticketRecon_ID-' ) === false ) continue; else { setcookie( $key, '', time() - 1 ); unset( $_COOKIE[$key] ); } } 当我运行脚本时,print\r($\u COOKIE)显示目标COOKIE已被删除且不存在。然而Ch
foreach( $_COOKIE as $key => $value ) {
if( strpos( $key, 'ticketRecon_ID-' ) === false ) continue;
else {
setcookie( $key, '', time() - 1 );
unset( $_COOKIE[$key] );
}
}
当我运行脚本时,print\r($\u COOKIE)
显示目标COOKIE已被删除且不存在。然而Chrome开发工具检查器显示cookie仍然存在(见下面的屏幕截图),当我返回到创建cookie的页面时,它们仍然存在
如何在PHP中完全删除/擦除/销毁\u COOKIE
?这可能与使用SSL协议的站点页面有任何关系吗?
修订:
以下是我最初设置cookie的方式:
setcookie('ticketracon_ID-'.$row['reservationID'],'N',null',/)代码>为其分配一个空数组
$_COOKIE = array();
解决了
似乎您必须以与创建COOKIE完全相同的方式删除COOKIE。因此,我的deletesetcookie()
上缺少path属性
创建方式如下setcookie('ticketRecon_ID-'.$row['reservationID'],'N',null',/')代码>
所以delete必须是这样的setcookie($key',time()-1',/)代码>
希望这篇文章有一天能帮助到别人。希望这篇文章能帮助你,但我知道你在寻找感谢@WilliamMadede…所以你的答案是setcookie($key,“,time()-3600)代码>在mysetcookie($key',time()-1)中工作代码>没有?有什么区别吗?那你先怎么设置饼干呢?doneGood question@WilliamMadede。。。请参阅我修改的OQI复制并粘贴您的解决方案逐字@WilliamMadedesetcookie($key,“,time()-3600)代码>,它对我不起作用。这不会删除cookies,它只会清除SuperGlobalTransk you@Machavity我现在得到了它。