PHP会话被视为局部变量
我对PHP会话有问题。当我启动会话,并尝试向其添加变量时,我只能在相同的PHP脚本中声明它,就像它是普通变量一样。浏览器调试程序在会话中似乎也看不到任何变量PHP会话被视为局部变量,php,session,session-storage,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 ?> 您将服务器端PHP
<?php
echo session_start(); //This returns 1 so session is created
$_SESSION["A"] = "B";
echo $_SESSION["A"]; // And this prints "B" as predicted
?>
您将服务器端PHP会话与客户端JavaScript
会话存储混为一谈。两者是完全不同的两件事
浏览器调试程序在会话中似乎也看不到任何变量
<?php
echo session_start(); //This returns 1 so session is created
$_SESSION["A"] = "B";
echo $_SESSION["A"]; // And this prints "B" as predicted
?>
PHP会话数据保存在服务器上,浏览器永远无法“看到它”,除非您明确地将其输出到某个地方(就像您在echo$\u session[“A”];
中所做的那样,但即使这样,它当然也不会显示在sessionStorage debug面板中)
我只能在同一个PHP脚本中声明它,就像它是普通变量一样
然后,您很可能忽略了在其他脚本文件中重新启动会话。您需要在所有会话开始时调用session\u start
。请将会话id打印到浏览器中,并在每次刷新页面时查看会话id是否继续更改。如果继续更改,则可能未创建会话文件。检查会话文件夹以验证是否正在创建文件。好的,这就解释了为什么我在浏览器调试程序中看不到会话属性,但不应该允许我在不同的.php文件中使用此$\u会话变量吗?因为这是主要问题。我有一个登录表单,我想在会话中保存登录的用户名,以便在不同的文件中使用,但其他脚本看不到它。您是否在所有这些不同的脚本中调用session\u start
?是的,它看起来就是这样:在login.php中:
在wall.php中:session\u start();echo$_会话[“loggedUser”]代码>您是否检查了会话id的情况,正如Sid建议您对上面的注释所做的那样?这在两个视图中都是相同的,并且在我刷新页面时保持不变。