1

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

谢谢。

4

2 回答 2

1

使用 0 作为最后一个参数意味着 cookie 将在会话结束时被删除(浏览器关闭)。

IE,$this->cookie->time = 0;

如果您想一直销毁 cookie(不知道为什么),请在 AppController 中添加这样做的功能beforeFilter(),即$this->cookie->delete('MerryParent');(将删除整个 MerryParent 键)。

于 2011-09-24T12:33:13.157 回答
1

在我看来,您想模仿Flash 消息的行为。如果没错,您可能对SessionHelper 源代码的这一部分感兴趣。

如果我应该为您简化它,它看起来像这样(在控制器中):

$key = 'MerryParent.id';
$value = '';
if ($this->Session->check($key)) {
    $value = $this->Session->read($key);
    $this->Session->delete($key);
}

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

于 2011-09-25T12:31:32.100 回答