SESSION值传递的问题

WBOY
發布: 2016-06-06 20:37:19
原創
865 人瀏覽過

$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(相反的情况)

回复内容:

$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常用的用途是在里面存储的用户登录相关的信息,如果共享了岂不是乱了,管理员和普通用户信息串在一起,真是天下大乱了。

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板