在php中管理多个用户

时间:2013-06-24 15:59:39

标签: php phpmyadmin

我是php的新手。

我刚刚了解到,您可以在登录后为用户创建会话变量,例如

$_SESSION['id']=****some value(say 3)******;

并且只要他没有注销就保持这个会话变量(即你使用session_destroy清除这个会话变量)。

现在,我感到困惑的是,如果另一个用户登录,则不会覆盖此id变量,从而将之前的用户记录下来? 如果这是真的,那么我该怎么做才能解决它?

2 个答案:

答案 0 :(得分:1)

PHP会话通过唯一(随机)ID字符串绑定到用户,该字符串是在您第一次为用户调用session_start()时生成的。该ID作为cookie存储在客户端浏览器中(或者可能通过隐藏的表单字段/查询参数)。

尽管在整个代码中使用了$ _SESSION,但该$ _SESSION数组的CONTENTS通过该ID字符串与特定用户相关联。这意味着如果我访问您的网站,$ _SESSION将包含我的详细信息。如果您访问了自己的网站,$ _SESSION将包含您的详细信息。

我的细节在您的会话中“泄漏”应该没有实用的方法,反之亦然。销毁我的会话不会破坏你的会话,因为你的会话是一个完全不同的会话,具有不同的ID。

答案 1 :(得分:0)

所有会话都与unique session ID相关联。这通常设置在用户的cookie中。