最新消息:网站改版咯

$_REQUEST方法解析

php Yovae 1441浏览

php在获取页面传递的参数的时候有几种方法,比如$_GET,$_POST,$_REQUEST,前两个就不用多说了分别是接收get和post传递方式的数据。

但是$_REQUEST就不同了,它两者通吃,也就是说$_REQUEST既可以接收get方式的传值也可以接收post方式的传值。这里我们会想到:

如果同时存在两个同名但不同方式的参数传递$_REQUEST是怎么处理的?比如下面的表单:

<form method="post" action="self.php?param=1">
<input type="text" name="param" value="2" />
<input type="submit"/>
</form>

可以看到名字为param的有get方式值为1,post方式值为2,那么提交表单后:$_REQUEST[‘param’]等于多少呢?get的1还是post的2,实验一下就知道了,结果为2,也就是说当同时存在同名参数于get和post方式时,$_REQUEST优先取得post,但是当post值为空时,$_REQUEST就取得get值。当参数同名时$_REQUEST自然是get和post的值都能取到
虽然是个很小的细节,如果不加以注意可能在开发程序过程中会使程序缺乏健壮性,其实$_GET,$_POST都是$_REQUEST的子集。
良好的安全性与编码的一个方面在于精确地引用变量。这意味着尽管可以使用$_REQUEST访问通过$_POST或$_GET方法提交的表单数据,但是直接用$_GET或$_POST更为精确。

转载请注明:Yovae Studio » $_REQUEST方法解析