检查用户是否提交表单的正确方法

1 php forms post get form-submit

我有一个表格的页面.以下哪种方法最好用于检查表单是否已提交?它们有何不同?

方法1:

if($_SERVER['REQUEST_METHOD'] == 'POST'){
    //some code
}
Run Code Online (Sandbox Code Playgroud)

方法2:

if(isset($_POST['submit'])){
    //some code
}
Run Code Online (Sandbox Code Playgroud)

方法3(显然,如果我将submitted=true提交添加到查询字符串):

if($_GET['submitted'] == true){
    //some code
}
Run Code Online (Sandbox Code Playgroud)

Gun*_*uns 6

方法1和方法2是最合适的方法.

如果您使用$_GET['submitted'] == true此表单验证表单,则最终用户可能很容易破解该表单,从而导致安全漏洞.

我认为最好的方法是第一种方法

if($_SERVER['REQUEST_METHOD'] == 'POST')
Run Code Online (Sandbox Code Playgroud)

即使在动态生成的表单中,这段代码也可以很好地工作,您不必检查post变量.