我在PHP中的$_SESSION变量有问题。
当我检查会话包含什么时,这是我得到的信息:
var_dump($_SESSION);
给我:
array(7) { ["hash"]=> string(26) "5523F85C0EC9F5523F85C0ECD9" ["numbersValue"]=> int(8) ["user"]=> array(3) { ["id"]=> string(5) "31871" ["username"]=> string(5) "Admin" ["logkey"]=> string(32) "b26e828f52844cb5ee2db5ce99470ee8" } ["addons"]=> array(0) { } ["load_plugins"]=> array(0) { } ["language"]=> string(7) "english" ["fb_Your Facebook App ID_state"]=> string(32) "ea6fffc683328ffb04324d0e27a7476d" }
尽管当我尝试使用$_SESSION
中的变量时,比如$_SESSION["username"];
,它应该说"Admin",但我得到的只是NULL:
var_dump($_SESSION["username"]);
给我:
NULL
这就是结构:
- Index.php:
session_start();
在此处调用。CCD_ 4也包含在这里 - connect.php:是我希望使用
$_SESSION
数据的地方,我也在这个文件中尝试var_dump会话,以查看它包含的数据
为什么我不能在脚本中使用$_SESSION["DATA"]
?
您没有正确访问变量:
var_dump($_SESSION["username"]);
正如您在会话的var_dump
中所看到的,您有一个嵌套的数组,因此您需要这个特定的变量:
var_dump($_SESSION['user']["username"]);
username
在user
数组中:
$_SESSION['user']['username']
你可以用这样的东西来查看结构:
highlight_string(var_export($_SESSION, true));