PHP:无法检查表单是否已提交

时间:2017-08-22 08:25:37

标签: javascript php jquery forms

我在这样的模态窗口中使用php文件中的表单

<?php

if( ($_SERVER['REQUEST_METHOD'] == 'POST')){
    die("form submitted");
}

?>

文件名 m.php 现在当我按下提交按钮时它没有检测到表单提交

$_POST['submit']

我试过--save并且善意地帮助我弄错了它

3 个答案:

答案 0 :(得分:4)

这是因为您没有按下提交按钮,而是按下名为“提交”的链接。尝试将其替换为<input type="submit" value="Submit" />

另外,您的表格已经提交,使用危险的方法。如果您要在代码中处理多个表单,它将捕获所有表单。更好的方法是:

if( isset($_POST['nameOfSubmitbutton']) ){}
// because you can now easily do:
if( isset($_POST['completelyDifferentButton']) ){}

如果你想保留主播(我建议反对它),你可以使用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();
});

答案 1 :(得分:1)

您正在使用的提交按钮指向相同的网址,您可以尝试类似的内容吗?

<input class="btn btn-default" type="submit" value="Submit">

然后尝试查看表单是否是从PHP提交的。 我还建议你使用一些框架来处理sql注入和/或其他漏洞。

答案 2 :(得分:1)

错误使用表单提交。

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

希望这可以解决问题。