Javascript PHP:无法检查是否提交了表单
我在一个模式窗口中使用php文件中的一个表单,如下所示Javascript PHP:无法检查是否提交了表单,javascript,php,jquery,forms,Javascript,Php,Jquery,Forms,我在一个模式窗口中使用php文件中的一个表单,如下所示 <div class="modal-body"> <form method="post" action="m.php"> <div class="form-group"> <lable>Name</lable>
<div class="modal-body">
<form method="post" action="m.php">
<div class="form-group">
<lable>Name</lable>
<input type="text" class="form-control" required="required">
</div>
<div class="form-group">
<lable>Email</lable>
<input type="text" class="form-control" required>
</div>
<div class="form-group">
<lable>Details</lable>
<input type="text" class="form-control" required>
</div>
<div class="form-group">
<lable>Message</lable>
<textarea name="" id="" class="form-control"></textarea>
</div>
<div class="form-group">
<a href="" class="btn btn-default" name="submit" style=" background: #eee; width:100px;display: block;margin-left:auto;">Submit</a>
</div>
</form>
</div>
现在,当我按下submit按钮时,文件名是m.php,它不会检测表单提交
<?php
if( ($_SERVER['REQUEST_METHOD'] == 'POST')){
die("form submitted");
}
?>
我尝试了$_POST['submit'],也请帮助我它有什么问题这是因为你没有按提交按钮,而是按了一个名为submit的链接。尝试将其替换为 此外,您的表格是否已提交的检查使用了危险的方法。如果要在代码中处理多个表单,它将捕获所有表单。更好的办法是:
if( isset($_POST['nameOfSubmitbutton']) ){}
// because you can now easily do:
if( isset($_POST['completelyDifferentButton']) ){}
如果您想保留锚I建议,您可以使用javascript为您伪造提交:
document.getElementById('yourAnchor').onclick = function(){
document.getElementById('yourForm').submit();
}
// Or if you have jQuery:
$('#yourAnchor').on('click', function(e){
e.preventDefault();
$(this).closest('form').submit();
});
您正在使用的提交按钮指向相同的url,您可以尝试类似的方式吗
<input class="btn btn-default" type="submit" value="Submit">
然后尝试查看表单是否是从PHP提交的。
我还建议您为此使用一些框架来处理sql注入和/或其他漏洞。表单提交的错误使用
<div class="form-group">
<a href="" class="btn btn-default" name="submit" style=" background: #eee; width:100px;display: block;margin-left:auto;">Submit</a>
</div>
您应该像这样使用它:-
<div class="form-group">
<input type="submit" class="btn btn-default" name="submit" style="background: #eee; width:100px;display: block;margin-left:auto;" value="Submit"/>
</div>
希望这能解决这个问题。我使用ci这是一个我应该做更改的项目,实际上我忘记在定制中做它了,因为使用ci和laravel太久了:Dci非常适合这样做,或者使用JQuery$.submit.onclick,functione{e.preventDefault;$form.submit};我还添加了一个jquery版本,请注意最接近的版本