Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/472.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript PHP:无法检查是否提交了表单_Javascript_Php_Jquery_Forms - Fatal编程技术网

Javascript 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>

我在一个模式窗口中使用php文件中的一个表单,如下所示

 <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版本,请注意最接近的版本