php - PHP会话被视为局部变量
问题描述
我对 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 会话和客户端 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
这些的开头调用。
推荐阅读
- webpack - webpack 在 css-loader 中不断显示错误,说构建失败
- c# - 如何将我的 UWP 应用添加到可以访问文件系统的 Windows 10 应用列表中?
- reactjs - 在 React.js 中页面刷新后清除 Axios 默认标头
- angular - WebDriver 更新失败
- ubuntu - Conda 环境安装了两个 Python
- java - 在每 4 个字符处拆分一个字符串?
- user-interface - 如何使 SWT 窗口/外壳及其上的所有组件可调节?
- c# - Wcf 通道工厂
- postgresql - 关于在 Posgresql 中使用 sum 查询的问题
- bash - 如何找出当前目录属于哪个git子模块