PHP:POST不工作虽然GET正在运行

时间:2015-03-11 11:40:18

标签: php

我有一个奇怪的问题(我试图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数据是空的......

1 个答案:

答案 0 :(得分:2)

我个人认为问题出在header("Location: account_activation.php");上。

为什么?
因为这意味着您执行了302 Redirection301302重定向都不会保留POST数据,这是预期的功能。为什么GET会起作用?因为GET值(参数)只是query-string的一部分,因此通常会遵循重定向。

所以是的,它与此有关。至少除非我弄错了,可能是真的:)