首页
学习
活动
专区
圈层
工具
发布

Yii会议
EN

Stack Overflow用户
提问于 2014-01-07 06:09:22
回答 4查看 44.3K关注 0票数 15

我正在做的是我用

代码语言:javascript
复制
 Yii::app()->SESSION['userid']

没有

代码语言:javascript
复制
  Yii::app()->session->open();

登录时

代码语言:javascript
复制
  Yii::app()->session->destroy();

在注销时

我想知道,如果不做开放和破坏的会话,这是值得的。你会在内部做吗。

还有一件奇怪的事我不知道发生了什么。在同一个浏览器中,我可以为多个用户登录。这是不应该发生的-- so.Is --我没有使用打开和销毁会话方法。

代码语言:javascript
复制
 public function actionLogout()
{
    Yii::app()->user->logout();
    Yii::app()->session->clear();
    $this->redirect(Yii::app()->controller->module->returnLogoutUrl);
}

请让我知道我该如何解决这个问题

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2014-01-07 06:18:30

为创造一届会议

代码语言:javascript
复制
Yii::app()->session['userid'] = "value";

你可以得到这样的价值

代码语言:javascript
复制
$sleep = Yii::app()->session['userid'];

以及未设置的会话,如

代码语言:javascript
复制
unset(Yii::app()->session['userid']); # Remove the session

如果用户签署退出,您必须删除所有的会话。

代码语言:javascript
复制
Yii::app()->session->clear();

之后,您需要从服务器中删除实际数据。

代码语言:javascript
复制
Yii::app()->session->destroy();
票数 36
EN

Stack Overflow用户

发布于 2014-12-04 14:57:10

不清除会话,只注销:

代码语言:javascript
复制
Yii::app()->user->logout(false);
票数 2
EN

Stack Overflow用户

发布于 2014-10-22 13:04:43

一旦您重新设置会话,它将允许您在同一浏览器中多次登录,我的意思是对于相同的url,它将允许您登录,您可以这样做,您可以重命名您的会话变量的不同名称,并检查该特殊变量登录。

Session是一个Web应用程序组件,可以通过Yii::$app->session访问。

要启动会话,请调用open();若要完成和发送会话数据,请调用close();若要销毁会话,请调用complete ()。

会话可以像数组一样用于设置和获取会话数据。例如,

代码语言:javascript
复制
$session = new Session;

$session->open();

$value1 = $session['name1'];  // get session variable 'name1'

$value2 = $session['name2'];  // get session variable 'name2'

foreach ($session as $name => $value) // traverse all session variables

$session['name3'] = $value3;  // set session variable 'name3'
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20965023

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档