$ _SERVER ['REQUEST_METHOD']默认情况下评估为'GET'

cha*_*ser 4 php http-get http-post

对此进行了一些挖掘,但是,没有运气找到信息

我正在尝试检查表单是否已提交,以及是否为GETPOST.基本上我用的是:

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

要么

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

但是,我发现如果我不提交任何表单,只是直接转到页面 - 一个简单的HTTP请求,REQUEST_METHOD就是GET.是什么赋予了?这是设计的吗?如果是,那么我不能使用前一个语句来检查表单是否已通过GET提交.似乎有点多余......

有更多知识的人请向我解释一下,我将不胜感激.谢谢.

mei*_*ome 7

基本上大多数HTTP请求都是GET请求.

你可以if($_POST)用来检查它是否是一个POST.(这是包含POST数据的数组.所有页面都已$_GET设置,因此if($_GET)无法判断它是否为GET)

但是,if(count($_GET)>0)会告诉您是否有$ _GET数据.

您可以同时拥有POST和GET数据,方法是向其中包含GET数据的URL发送POST请求(即http://example.unreal?GetData=4&OtherData=no)