CakePHP 2.6 flash 消息不显示

CakePHP 2.6 flash messages not showing

根据 JobsController 的 jsonresponse() 函数中的条件,我想注销用户并将他们发送到登录页面,并显示一条闪现消息 Invalid user。

jsonresponse($data)

if($data['status'] == '0'){
    $this->Session->setFlash(__(INVALID_USERS_CREDENTIALS),'default', array('class' => 'error-flash-msg'));
        return $this->redirect($this->Auth->logout());
}

现在正在重定向到登录页面,但没有显示闪现消息。

登录布局

 <div style="padding-left:12%">
        <?php echo $this->Session->flash(); ?>
    </div>

    <div class="loginbox">
        <?php echo $this->fetch('content');?>
    </div>
</body>

这里有什么问题,当我转到登录页面并输入无效凭据时,它会显示一条闪现消息。但是在上述情况下有什么问题......! 任何帮助深表感谢。谢谢

设置会话快闪消息之前必须注销,因为logout()会破坏会话内容

if($data['status'] == '0'){
    $this->Auth->logout()
    $this->Session->setFlash(__(INVALID_USERS_CREDENTIALS),'default', array('class' => 'error-flash-msg'));
    return $this->redirect($this->Auth->redirectUrl());
}

或者,保持重定向 url 就像您所做的那样:

if($data['status'] == '0'){
    $redirectUrl = $this->Auth->logout()
    $this->Session->setFlash(__(INVALID_USERS_CREDENTIALS),'default', array('class' => 'error-flash-msg'));
    return $this->redirect($redirectUrl);
}