session - 问题 YII2 会话销毁不起作用
问题描述
我有个问题。在 Yii2 中,我有一个视图、控制器和布局。在布局和视图中,如果活动做某事,我会检查会话。代码是这样的:
if (!isset($session)) $session = Yii::$app->session;
if ($session->isActive && $session->has('username')):
//some code here if there is session echo something
else:
//some code here if there is no session echo something else
endif;
然后我有一个控制器动作,它破坏会话但也重定向到上面的视图文件,代码是这样的:
public function actionDestroysess($status = 1) {
Yii::$app->session->destroy();
return $this->render('masuk', ['status' => $status]);
}
问题是,视图中的会话条件返回真,这意味着Yii::$app->session->destroy();
根本不工作,我试图var_dump(Yii::$app->session->get('username));
在销毁命令下方的控制器上,但仍然得到值。帮帮我,为什么这个会话销毁不起作用?
解决方案
试试这个:改变
Yii::$app->session->destroy();
至
Yii::$app->getSession()->destroy();
如果要删除确切的会话,则必须使用:
Yii::$app->session->remove('name')
推荐阅读
- c# - 将 EF(不是 EF 核心)应用到 ASP.NET Core 项目
- javascript - Javascript heatmap.js 插件在 D3.js 中逐步显示数据
- c# - 如何在c#中停止特定任务
- c++ - 如何在 macOS 的旧扩展 clang 和 gcc 编译器中初始化数组和向量?
- reverse-engineering - 逆向工程UPS串行协议:校验和/CRC?
- python - SQLALCHEMY_DATABASE_URI' 不在 app.config 和 AttributeError 中:'SQLAlchemy' 对象没有属性 'config'
- javascript - 从具有嵌套对象的数组创建数组
- php - 当按下提交按钮时,它显示相同的页面,但为空白。我希望它加载感谢页面
- google-sheets - 如何一次将一个不定数更改为 0?
- r - MCQ 标记:如何最好地将“响应”数据框的向量与“答案”的行元素逐个元素进行比较?