cakephp:如何在页面刷新和关闭浏览器窗口时销毁cakephp cookie

时间:2011-09-24 10:25:27

标签: cakephp cookies destroy

如何在页面刷新或关闭浏览器窗口时销毁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'));

感谢。

2 个答案:

答案 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);
}

如果这没有任何帮助,请描述您想要完成的更多内容。也许有更好的方法。