SESSION值传递的问题

<?php
$is_vip = $_GET[is_vip] ? $_GET[is_vip] : 0;
$_SESSION[is_vip] = $is_vip;
………
var_dump$_SESSION[is_vip];
如果2个用户或者很多人同时访问,一个一半访问不带?is_vip=1的,一个(一半)访问带?is_vip=1, 那么这2个人最终打印出来的结果会一样么?

自己的理解是SESSION是全局的,有没有可能当带is_vip=1的用户在打印出来之前,不带is_vip=1的用户访问页面将SESSION[is_vip]的值设为0,这样2个人最终打印出来的都是0或者1相反的情况

每个用户都有对应独立的session_id,你登录了sf.gg,服务器会产生一个session_id并将它通过cookie的方式传递到客户端,每次访问都会带上这个cookie,所以是唯一的。
PHP默认将session以文件的形式储存在指定路径中。
参考:PHP session原理

SESSION不是全局的,每个浏览器用户都对应着不同的SESSION,所以你提到的两个用户他们是互相不影响的。

session是每个用户的私有数据,session常用的用途是在里面存储的用户登录相关的信息,如果共享了岂不是乱了,管理员和普通用户信息串在一起,真是天下大乱了。

发表评论

电子邮件地址不会被公开。 必填项已用*标注