PHP会话被视为局部变量

时间:2019-12-05 11:18:30

标签: php session session-storage

PHP会话有问题。当我开始会话时,尝试向其中添加一个变量时,我只能在声明它的普通PHP脚本中获得它,就像我的普通变量一样。浏览器调试器似乎在会话中也看不到任何变量。

<?php

echo session_start(); //This returns 1 so session is created
$_SESSION["A"] = "B"; 
echo $_SESSION["A"]; // And this prints "B" as predicted 

?>

But there is nothing in session!

1 个答案:

答案 0 :(得分:2)

您将服务器端PHP会话与客户端JavaScript sessionStorage混淆了。两者是完全不同的两件事。

https://www.php.net/manual/en/intro.session.php

https://developer.mozilla.org/en-US/docs/Web/API/Window/sessionStorage

  

浏览器调试器似乎在会话中也看不到任何变量。

PHP会话数据被保存在服务器上 ,浏览器永远无法“看到”它,除非您将其显式输出到某个地方(就像对echo $_SESSION["A"];所做的那样,但即使如此,课程不会显示在sessionStorage调试面板中。)


  

我只能在我声明它为正常变量的地方使用相同的PHP脚本。

那么您很可能忽略了在其他脚本文件中再次进行会话。您需要在所有全部的开头致电session_start