如何在页面刷新或关闭浏览器窗口时销毁cakephp cookie?
我的代码: merry_parents_controller.php
$this->Cookie->write('MerryParent.id',$this->MerryParent->id,false,0);
echo 'cookie MerryParent.id: '.$this->Cookie->read('MerryParent.id');
$this->set('id',$this->Cookie->read('MerryParent.id'));
感谢。
答案 0 :(得分:1)
使用0作为最后一个参数将意味着在会话结束时(浏览器关闭)将删除cookie。
,$this->cookie->time = 0;
如果你想一直销毁cookie(不明白为什么),可以在AppController的beforeFilter()
中添加功能,即$this->cookie->delete('MerryParent');
(将删除整个MerryParent密钥)。
答案 1 :(得分:1)
在我看来,你想要模仿flash messages的行为。如果这是正确的,您可能对this part SessionHelper源代码感兴趣。
如果我应该为你简化它,它看起来像这样(在控制器中):
$key = 'MerryParent.id';
$value = '';
if ($this->Session->check($key)) {
$value = $this->Session->read($key);
$this->Session->delete($key);
}
如果这没有任何帮助,请描述您想要完成的更多内容。也许有更好的方法。