0

我很困惑为什么我的代码不起作用。我已经发布了一百万次,但这次它似乎不起作用。

我的表格:

<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";
}

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

4

3 回答 3

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&anotherkey=anothervalue 发送,带有 http 标头)和multipart/form-data(将每个键拆分为不同的数据部分)。text/plain意味着什么都不应该做——它的行为在浏览器之间基本上是未定义的,并且只在垃圾邮件出现之前的日子里用于自动电子邮件表单。

于 2013-09-04T05:45:48.410 回答
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>
于 2013-09-04T05:48:06.950 回答
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

于 2013-09-04T05:50:42.700 回答