我将通过$ _POST提交的表单值保存为会话变量时遇到了一个非常奇怪的问题。
好的,所以我在第1页上有一个表单,提交到第2页。
在第2页上,我将所有Post变量设置为Session变量。
第3页我正在检索这些变量。
如果我写下这样的话,请在第2页上填写:
$_SESSION['fname'] = 'john';
工作正常。我可以在第3页找回它。
如果我写的话
$_SESSION['fname'] = $_POST['fname'];
第3页的会话变量为空白。
如果我做的话,甚至更奇怪:
$_SESSION['fname'] = $_POST['fname'].' Doe';
在第3页,我只看到了Doe。
以前由其他页面设置的会话变量在第3页也没问题。
我已经验证了帖子变量是在第2页设置的,此时我很茫然。我不是PHP会话专家或其他任何人,但我之前曾与他们合作过,并且没有看到过这样的事情。
有人有任何想法吗?
编辑:变量在会话中设置,在第3页只是空白。
答案 0 :(得分:0)
这意味着帖子中的某些内容($_POST['name']
)未设置;
尝试第2页的var_dump($_POST);
也看看实际发布了什么
答案 1 :(得分:0)
我无法抗拒询问:您是否在第1页表格中检查了method="POST"
而非GET
?
答案 2 :(得分:-1)
我认为问题是因为在写入SESSION数据时POST数据不可用。
您可以通过打开php.ini并确保在SESSION之前注册POST来修复它,这样,当您尝试编写SESSION数据时,POST可用。