我很难过为什么我的代码无效。我做了一百万次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";
}
我每次都“失败”。我究竟做错了什么?我只是看不到它。
答案 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