CakePHP setFlash()奇怪的问题

时间:2011-04-07 19:15:04

标签: session cakephp

我想要$this->Session->setFlash('text'); $this->redirect('page');,但不会显示该消息。 我在会话布局中包含了Session Component和Helper以及$this->Session->setFlash()。但是,在重定向之后,会话不包含任何消息。如果我不重定向,则会显示该消息。

所以我的问题是,重定向后为什么不保留flash消息?它应该是,这就是我以前做过的,但......现在它不起作用。

感谢您的帮助!

这是我的控制器代码:

if(!$this->Test->__test_possible()){
        $this->Session->setFlash(__('Insufficient data to create test.', true));
        $this->redirect(array('action' => 'index'));
    }

...我的布局......(蛋糕default.ctp)

<?php echo $this->Session->flash(); ?>

和AppController:

var $helpers = array('Html', 'Form', 'Session', 'Facebook.Facebook');
var $components = array('Session', 'Auth', 'Facebook.Connect');

3 个答案:

答案 0 :(得分:4)

因此,尽管拥有所有正确的代码,我们只是追逐了一个奇怪的问题,即不会显示flash消息。事实证明,在控制器文件中关闭?>之后有一个空格字符。 ಠ_ಠ

答案 1 :(得分:1)

哦darn ...我已经把Configure :: write('Session.cookie','Capitalize.me');在core.php中,似乎他不喜欢名字中的圆点......现在一切正常。这真令人沮丧。谢谢你的帮助:)

答案 2 :(得分:0)

Flash消息只显示一次,然后从缓存中删除。您可能在重定向之前打印它,这导致它不会显示在重定向上。