基于JobsController中jsonresponse()函数的条件,我想注销用户并将其发送到登录页面,并带有flash消息无效用户。
jsonresponse($数据)
if($data['status'] == '0'){
$this->Session->setFlash(__(INVALID_USERS_CREDENTIALS),'default', array('class' => 'error-flash-msg'));
return $this->redirect($this->Auth->logout());
}
现在它正在重定向到登录页面,但没有显示flash消息。
在登录布局
中
<div style="padding-left:12%">
<?php echo $this->Session->flash(); ?>
</div>
<div class="loginbox">
<?php echo $this->fetch('content');?>
</div>
</body>
这里有什么问题,当我转到登录页面并输入无效凭据时,它会显示我的flash消息。但是上面的问题是什么问题......! 任何帮助深表感谢。感谢。
答案 0 :(得分:1)
您必须在设置会话Flash消息之前注销,因为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());
}
或者,保持重定向网址的方式:
if($data['status'] == '0'){
$redirectUrl = $this->Auth->logout()
$this->Session->setFlash(__(INVALID_USERS_CREDENTIALS),'default', array('class' => 'error-flash-msg'));
return $this->redirect($redirectUrl);
}