调用setFlash后清除会话闪存?

时间:2011-06-04 06:56:47

标签: cakephp cakephp-1.3

我正在研究“Cake PHP 1.3应用程序开发指南”,CH。 1 - “允许使用用户名或电子邮件登录”部分。

问题是,当您使用电子邮件登录时,即使您成功,Auth组件也已设置“无效帐户”的Flash消息。因此,在通过电子邮件成功登录后,我需要在用户控制器的登录操作中取消设置该消息。将其设置为空字符串不起作用,因为显示空橙色条。

有没有办法完全取消设置Flash消息?

谢谢, 约拿

3 个答案:

答案 0 :(得分:14)

使用CakePHP 1.3取消设置Flash消息,使用控制器中的SessionComponent

$this->Session->delete('Message.flash');

答案 1 :(得分:5)

我使用它代替上面的代码。

$this->Session->delete('Message.auth');

答案 2 :(得分:0)

如果您担心在视图中调用了Session-> flash()函数后内存中的消息仍然存在,那么您不需要。在flash()函数内部,消息将通过此调用清除:

CakeSession::delete('Message.' . $key);

因此您不需要自己删除邮件。