我是php的新手。
我刚刚了解到,您可以在登录后为用户创建会话变量,例如
$_SESSION['id']=****some value(say 3)******;
并且只要他没有注销就保持这个会话变量(即你使用session_destroy清除这个会话变量)。
现在,我感到困惑的是,如果另一个用户登录,则不会覆盖此id
变量,从而将之前的用户记录下来?
如果这是真的,那么我该怎么做才能解决它?
答案 0 :(得分:1)
PHP会话通过唯一(随机)ID字符串绑定到用户,该字符串是在您第一次为用户调用session_start()时生成的。该ID作为cookie存储在客户端浏览器中(或者可能通过隐藏的表单字段/查询参数)。
尽管在整个代码中使用了$ _SESSION,但该$ _SESSION数组的CONTENTS通过该ID字符串与特定用户相关联。这意味着如果我访问您的网站,$ _SESSION将包含我的详细信息。如果您访问了自己的网站,$ _SESSION将包含您的详细信息。
我的细节在您的会话中“泄漏”应该没有实用的方法,反之亦然。销毁我的会话不会破坏你的会话,因为你的会话是一个完全不同的会话,具有不同的ID。
答案 1 :(得分:0)
所有会话都与unique session ID相关联。这通常设置在用户的cookie中。