PHP中$_GET $_POST $_REQUEST三者的区别

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

PHP中有$_REQUEST与$_POST、$_GET用于接受表单数据。

一、$_REQUEST与$_POST、$_GET的区别和特点

$_REQUEST[]具用$_POST[] $_GET[]的功能,但是$_REQUEST[]比较慢。通过POST和GET 方法提交的所有数据都可以通过$_REQUEST数组获得。

二、$_POST、$_GET的区别和特点

1.GET是从服务器上获取数据,POST是向服务器传送数据。

2. GET是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。POST是通过HTTP POST机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址。用户看不到这个过程。

3. 对于GET方式提交表单数据,服务器端用$_GET[‘name’]获取变量的值,对于POST方式提交表单数据,服务器端用$_POST[‘name’]获取提交的数据,当然,两者都可以通过$_REQUEST[‘name’]获得表单数据。对于REQUEST方式提交表单数据,服务器端用$_REQUEST[‘name’]获取变量的值,但这种方式很少用。

4.GET传送的数据量较小,不能大于2KB。POST传送的数据量较大,一般被默认为不受限制。但理论上,一般认为不能超过100KB。

5.GET安全性非常低,POST安全性较高。

6. GET表单值可以通过_GET获取;但通过action的url设置的参数总是获取不到的,

跟是一样的,也就是说,在这种情况下,GET方式会忽略action页面后边带的参数列表。POST表单值可以通过_POST 获取;但通过action的url参数设置的参数则可以不能通过_POST获取到。action=test.php?id=1这种就是GET方式传值,可以用$_REQUEST和$_GET接受传值,但不能用POST方式获取到值,即使表单是POST方式提交。所在,在提交表单时,如果action 中同时有参数,最好只能通过POST表单方式,对于表单内数据,直接通过POST获取,对于action中参数,童工GET获取。

在做数据查询时,建议用GET方式,而在做数据添加、修改或删除时,建议用POST方式。request是先读取get再读post 的,同时存在,即覆盖掉前面的变量。

经典实例:

echo "get\n";

print_r($_GET);

echo "post\n";

print_r($_POST);

echo "request\n";

print_r($_REQUEST);

?>

输出结果:

get:

Array

(

[a] => 1

[b] => 2

)

post:

Array

(

[a] => a

[b] => b

)

request:

Array

(

[a] => a

[b] => b

)

其实,在php配置文件php.ini中有一个设置项:variables_order = "GPCS" ,GPCS分别是GET,POST,Cookie,Server的首字母缩写,variables_order = "GPCS"含义是php文件中变量的解析顺序是GET,POST,Cookie和Server。

相关文档
最新文档