php $_GET $_POST $_REQUEST 区别用法
今天修改一个php程序,源程序是在“regist_global”打开的情况的下写的,很多服务器出于安全考虑会关闭这一选项,所以该程序的适用性下降。然而又不太清楚哪些变量时GET传递,哪些又是POST传递的,此时想到了适用REQUEST来统一获取,解决了这一问题。
$_GET、$_POST、$_REQUEST区别:
三者都是变量数组通过 xx[‘变量名’]来获取值,$_GET获取通过URL中GET请求传递的变量也就是Request的QueryString中的变量。$_POST是表单提交传递的变量也就是Request中的Form变量。一般来说,用指定方式如$_GET方式来获取GET方式的变量比$_REQUEST方式要快一些。
$_REQUEST包含$_GET、$_POST,而且还包含$_COOKIE、$_ENV、$_SERVER变量,按照默认的数据写入顺序是EGPCS,后面出现的数据会覆盖前面写入的数据。,因此,在关键字相同的情况下,POST包含的数据会覆盖GET中的数据.所以适用$_REQUEST来获取变量时要注意同名字段的问题,如果忽略这些问题的话,$_REQUEST反而带来便利。
这里在修正原先打开“regist_global”情况下源码的处理中采用$_REQUEST方式直接在php程序前段为global变量赋值的方式,可以很好的解决关闭“regist_global”的问题.