如何区分用户登录会话变量和其他会话变量

时间:2015-11-30 08:49:09

标签: php arrays session yii

我在PHP Web应用程序中使用会话,对于单个用户,我需要存储登录会话(会话数组/变量),例如用户名,用于表示用户是否已登录的标志等。

另一个会话(数组/变量)是Search-page,其中包含一系列变量。我想把一个数组赋给$_SESSION,作为一个包含所有值的变量。有没有办法实现这个目标?

3 个答案:

答案 0 :(得分:1)

您可以创建会话数组,例如 -

 $_SESSSION['loginSessions'] = array();

然后您可以将值loginSessions指定为 -

 $_SESSSION['loginSessions']['flag'] = true;
 $_SESSSION['loginSessions']['userid'] = "...";

这会将会话变量与其他会话分开。

取消设置会话数组 -

foreach($_SESSSION['loginSessions'] as $key=>$value) 
{ 
   unset($_SESSSION['loginSessions'][$key]); 
} 

希望这会有所帮助。

答案 1 :(得分:0)

到目前为止你尝试了什么?您可以使用数据库中的数据作为用户的唯一标识符:

session_start();
$_SESSION['user_data'] = array('username'=>$username, 'user_id'=>$user_id);

答案 2 :(得分:0)

正如大家所说,会话是一种存储用户特定信息的方式。 有关会话和Cookie的详细信息,请参阅此here。 我也有相同的要求来管理两个不同阵列中的两个会话,即使用户以用户身份注销,第二个阵列也应该存在。我尝试的是将会话值管理到$ _cookies = $ _session然后将这些cookie恢复为会话。虽然我没有使用Yii 1.1框架尝试过这个。

相关问题