我有一个奇怪的问题(我试图google并在这里搜索它没有运气)事情是,当我尝试POST数据时,我绝对没有数据POSTED,如果我将表单方法更改为GET然后回显出那个变量 - 它完美无缺......
昨天一切似乎都有效,今天我只添加了这个功能:
header("Location: account_activation.php");
这与它真的无关,昨天的注册字段工作100%没有错误,所以这里是代码,PHP部分:
<?php
session_start();
if($_POST['register_email'] != ""))
{
...
...
...
}
?>
HTML部分:
<form action="z_unity_index.php" method="POST">
<input type="email" maxlength="100" required id="register_email" value="<?php echo $register_email ?>" name="register_email" placeholder="E-Mail (3-100 Characters)" />
<input type="text" maxlength="20" required id="register_username" value="<?php echo $register_username ?>" name="register_username" placeholder="Username (6-20 Characters, A-Z and 0-9)" />
<input type="password" maxlength="100" required id="register_password" name="register_password" placeholder="Password (6-100 Characters)" />
<input type="submit" value="Sign Up" id="register_submit" />
</form>
我删除了所有不必要的数据,并且在if函数中没有包含更多数据,因为事情是我没有通过它,因为我得到的POST数据是空的......
答案 0 :(得分:2)
我个人认为问题出在header("Location: account_activation.php");
上。
为什么?
因为这意味着您执行了302 Redirection
。 301
和302
重定向都不会保留POST数据,这是预期的功能。为什么GET
会起作用?因为GET
值(参数)只是query-string
的一部分,因此通常会遵循重定向。
所以是的,它与此有关。至少除非我弄错了,可能是真的:)