PHP-$_SESSION包含数据,但仍然为NULL


PHP - $_SESSION contains data, but is still NULL

我在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"]);

usernameuser数组中:

$_SESSION['user']['username']

你可以用这样的东西来查看结构:

highlight_string(var_export($_SESSION, true));