我想要使用命令序列:
Yii::app()->user->setFlash('success', "Successful!");
Yii::app()->user->logout();
$this->redirect(array('user/login'));
Run Code Online (Sandbox Code Playgroud)
用户已注销并重定向,但Setflash无效.我也尝试改变2个frist命令的顺序,但是遇到了同样的问题.如果我不注销用户,Setflash工作正常.
如何使两个命令都有效?
这应该工作
Yii::app()->user->logout();
Yii::app()->session->open();
Yii::app()->user->setFlash(...);
Run Code Online (Sandbox Code Playgroud)
如果您需要销毁整个会话但之后想要设置闪存,则可以通过以下方式扩展CWebUser:
<?php
class BaseWebUser extends CWebUser
{
public function logout($destroySession = true)
{
parent::logout($destroySession);
Yii::app()->session->open();
}
}
?>
Run Code Online (Sandbox Code Playgroud)
仔细看看这里