好的,我有一个非常基本的形式,曾经工作过。
<form action="index.php#enquiry" method="post" id="quickform">
<input type="hidden" name="submit" value="yes">
<label class="labels">Name</label>
<input type="text" id="reqname" name="reqname" /><br/>
<label class="labels">Tel</label>
<input type="text" class="validate[required] input" name="num" id="valiphone" /><br/>
<label class="labels">Email</label>
<input type="email" class="custom[email] input" name="useremail" id="valiemail" />
<label class="labels">Enquiry</label>
<textarea id="textarea" rows="7" name="messtxt" class="validate[required]"></textarea>
<button type="submit" style="border: 0; background: transparent" id="sendButton" >
<img src="images/send.png" alt="submit" />
</button>
</form>
这个自提交,当重新加载时应该点击一个简单的php if语句:
if (isset($_POST['submit'])) {
Do thing A
}else{
Do thing B
}
事情A永远不会被执行。
我知道它会自我提交并点击PHP,因为我可以回显一个字符串
我已经完成了这一百万次,而且我百分之百确定这个脚本在几天前工作了,所以除非我打字了什么并且不能偶然看到它。在页面不发布的地方是否有可能出错的地方?服务器明智或什么?我注意到我上传的脚本存在类似的问题。
答案 0 :(得分:1)
PHP $ _POST假定括号中输入的数据是元素的名称。在你的情况下,你没有将你的提交按钮命名为“提交”,这就是你告诉PHP的内容......
只需将按钮更改为:
<button type="submit" style="border: 0; background: transparent" id="sendButton" name="submit">
<img src="images/send.png" alt="submit" />
</button>
我刚刚添加了name="submit"
。您还应该删除名为submit的隐藏输入。这应该可以解决问题!
答案 1 :(得分:1)
检查您的.htaccess
文件。可能是罪魁祸首。