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