PHP SESSION 无法存储来自 GET 表单变量的变量

PHP SESSION cant store variable from GET form variable

<?
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. 第1页,这是我们提交表单后的页面,回显显示完整。
  2. 在第 2 页,我已经在顶部添加了 session_start();,但是 $_SESSION['name'] 和 $_SESSION['email'] 保持空白(更改页面)但是 $session_id 是存储和显示相同。

我错过了什么?或者 $_SESSION 无法存储 $_GET?

因此在第一页上您保存了用户输入的值并且它按预期工作。

但是,当您转到第二页时,您的代码会用新变量覆盖会话,在本例中这些变量是空的。在向会话分配任何内容之前,您应该检查它是否不为空/有效。

对于这个简单的代码,我建议通过 isset / array_key_exists 函数进行检查。