表单POST数据不会传递给PHP

时间:2013-09-04 05:42:08

标签: php forms query-string

我很难过为什么我的代码无效。我做了一百万次POSTS,但这次它似乎没有用。

我的表格:

<form method="post" name="form" id="form" enctype="text/plain" action="../posts/">
    <fieldset id="inputs" style="text-align: center;">
        <input id="password" type="password" name="password" placeholder="enter password" required />Press enter to submit
    </fieldset>
</form>

我的PHP代码检索:

if(isset($_POST['password'])){
    echo "success";
}
else{
    echo "fail";
}

我每次都“失败”。我究竟做错了什么?我只是看不到它。

3 个答案:

答案 0 :(得分:3)

删除enctype="text/plain"并检查

<form method="post" name="form" id="form" action="../posts/">
    <fieldset id="inputs" style="text-align: center;">
        <input id="password" type="password" name="password" placeholder="enter password" required />Press enter to submit
    </fieldset>
</form>

enctype定义在发送之前应如何格式化数据。两种正确的格式是application/x-www-form-urlencoded(基本上以key = valye&amp; anotherkey = anothervalue,http header)和multipart/form-data(将每个键分成不同的数据部分)发送。 text/plain意味着什么都不应该做 - 它的行为在浏览器之间基本上是未定义的,并且在垃圾邮件发布前几天才用于自动电子邮件表单。

答案 1 :(得分:1)

从将提交的表单中删除 enctype =“text / plain”

<form method="post" name="form" id="form"  action="../posts/">
    <fieldset id="inputs" style="text-align: center;">
        <input id="password" type="password" name="password" placeholder="enter password" required />Press enter to submit
    </fieldset>
</form>

答案 2 :(得分:0)

我同意@ Gautam3164 ..您只需删除enctype="text/plain"并查看

<form method="post" name="form" id="form" enctype="text/plain" action="../posts/">
    <fieldset id="inputs" style="text-align: center;">
        <input id="password" type="password" name="password" placeholder="enter password" required />Press enter to submit
    </fieldset>
</form>

并改为

 <form method="post" name="form" id="form"  action="../posts/">
        <fieldset id="inputs" style="text-align: center;">
            <input id="password" type="password" name="password" placeholder="enter password" required />Press enter to submit
        </fieldset>
    </form>

并参考此FIDDLE