2017-03-22 256 views
-4

我对php这些超级全局变量($_POST, $_GET, $_REQUEST)有点困惑。我想知道我需要在php中使用这些变量,以及这三个主要区别是什么?

+0

http://stackoverflow.com/questions/3477333/what-is-the-difference-之间 –

+3

或手册:http://php.net/manual/en/language.variables.superglobals.php - 永远是一个很好的资源;-) – Qirel

+0

这将是一个好主意,永远不要使用' $ _REQUEST' – zerkms

回答

0

$ _POST是当在请求中使用application/x-www-form-urlencoded或multipart/form-data作为HTTP Content-Type时,通过HTTP POST方法传递给当前脚本的变量的关联数组。 当你发送大量数据到服务器,您可以使用,或者如果你有一个像密码等机密资料,信用卡资料等

$ _GET是通过URL参数传递给当前脚本变量的关联数组。当有少量的数据可以使用,它主要是在分页使用,页码显示在URL,你可以使用$ _GET

$ _REQUEST是一个“superglobal很容易地从URL的网页数'或自动全局变量。这仅仅意味着它在整个脚本的所有范围内都可用。这是一个关联数组,默认情况下包含$ _GET,$ _POST 和$ _COOKIE (取决于request_order=)的内容

0

区别是:

$_GET retrieves variables from the querystring, or your URL.> 

$_POST retrieves variables from a POST method, such as (generally) forms. 

$_REQUEST is a merging of $_GET and $_POST where $_POST overrides $_GET. 
+1

实际上'$ _REQUEST'行为是de由'request_order'和'variables_order'配置指令决定。 – zerkms

+0

@zerkms:感谢您的更新 –

+1

'$ _REQUEST'还包含'$ _COOKIE'超级全局值;} http://php.net/manual/en/reserved.variables.request.php –

-1

好更好地了解请访问http://www.diffen.com/difference/GET-vs-POST-HTTP-Requests

1)两个$_GET$_POST例如创建一个数组array(key => value, key2 => value2, key3 => value3, ...)。该数组包含键/值对,其中键是表单控件的名称,值是来自用户的输入数据。

2)GETPOST都被视为$_GET$_POST。这些都是全球性的,这意味着它们总是可以访问的,不管范围如何 - 您可以从任何函数,类或文件访问它们,而无需执行任何特殊操作。

3)$_GET是一个通过URL参数传递给当前脚本的变量数组。

4)$_POST是通过HTTP POST方法传递给当前脚本的变量数组。

----而$_REQUEST包含$_POST$_GET$_COOKIE

希望它有帮助。