setFlash中的消息为空

时间:2012-08-10 14:58:32

标签: php cakephp cakephp-2.1

我有这段代码,但flash信息显示不正确。

我想在以下位置显示消息:

http://xxx/cake/ ----(add action)

但实际上消息显示在:

http://xxx/cake/users/ ----(index action)

我该如何解决这个问题?我没有任何激活的观点。我只想重定向到添加操作并在此之后显示flash消息。


class UsersController extends AppController {

    public function index() {
        $this->User->recursive = 0;
        $this->set('users', $this->paginate());
    }

    public function add() {

    }

    public function activation() {
        $email = $this->request->query['email'];
        $codeLink = $this->request->query['code'];

        if($this->User->activationAccount($email, $codeLink)) {
            $this->Session->setFlash(__('Success'));///should be shown in add
            $this->redirect(array('action' => 'add'));
        }
        else {
            $this->Session->setFlash(__('Error.'));//should be shown in add
            $this->redirect(array('action' => 'add'));
        }
    }
}

routes.php文件

Router::connect('/', array('controller' => 'users', 'action' => 'add'));

2 个答案:

答案 0 :(得分:0)

只需销毁此会话:

array
  'fb_400xxxxxxx96_state' => string 'ce3xxasdxxxxxxasdasdxxxxxxxf' (length=32)

    public function add() {
        $this->Session->destroy();

        //some code

    }

答案 1 :(得分:0)

您可能需要查看涵盖此内容的this tuto