如何解决PHP SESSION 无法存储来自 GET 表单变量的变量
<?
session_start();
$_SESSION['name'] = "$_GET["name"]";
$_SESSION['email'] = "$_GET["email"]";
$session_id=session_id();
echo"$session_id <br> $_SESSION['name'] <br> $_SESSION['email']";
?>
我正在尝试创建一个会话来使用 GET 方法存储访问者输入表单,我不能使用 POST,因为表单是由 wordpress 插件处理的,而客户端只给了我 GET 选项。问题是:
- 在第 1 页,这是我们提交表单后的页面,回显显示完整。
- 在第 2 页,我已经在顶部添加了
session_start();
,但$_SESSION['name']
和 $_SESSION['email'] 保持为空(更改页面)但 $session_id 已存储并显示相同。
我错过了什么?或者 $_SESSION 无法存储 $_GET?
解决方法
因此在第一页上,您保存了用户输入中的值,它按预期工作。
但是,当您转到第二页时,您的代码正在使用新变量覆盖会话,在本例中为空。在为会话分配任何内容之前,您应该检查它是否不为空/有效。
对于这个简单的代码,我建议通过 isset / array_key_exists 函数进行检查。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。