PHP中的$ _SERVER超全局数组

时间:2016-10-23 03:50:01

标签: php web

我正在阅读这样的代码:

if ($_SERVER["REQUEST_METHOD"] == "POST") {
   echo "Hello ". $_POST['alias'];
}

但是既然我们已经使用$ _POST,这意味着它必须由post方法使用,为什么我们仍然需要使用“$ _SERVER [”REQUEST_METHOD“] ==”POST“?另一个问题是,如果我们使用post和get方法提交大量表单,那么$ _SERVER [“REQUEST_METHOD”]的值是什么,它是否只保存最新的方法值?

1 个答案:

答案 0 :(得分:0)

根据PHP文档http://php.net/manual/en/reserved.variables.server.php $_SERVER["REQUEST_METHOD"]

  

使用哪种请求方法来访问页面;即'GET','HEAD',   'POST','PUT'。

这意味着,只有只是一个信息为您提供数据的提交方式。

$_POST仅包含通过POST方法提交的数据:

  

通过传递给当前脚本的关联变量数组   使用application / x-www-form-urlencoded或时的HTTP POST方法   multipart / form-data作为请求中的HTTP Content-Type。

因此,最好使用$_REQUEST,因为它是:

  

一个关联数组,默认包含$ _GET的内容,   $ _POST和$ _COOKIE。

这意味着您没有注意数据的提交方式。