Blogger Information
Blog 63
fans 2
comment 0
visits 162984
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
$_REQUEST[]、$_POST[]、$_GET[]的区别
书声的博客
Original
1114 people have browsed it

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方式,服务器端用Request.QueryString获取变量的值,对于post方式,服务器端用Request.Form获取提交的数据。
   4. get传送的数据量较小,不能大于2KB。post传送的数据量较大,一般被默认为不受限制。但理论上,IIS4中最大量为80KB,IIS5中为100KB。
   5. get安全性非常低,post安全性较高。

举例:mypage?id=1这种就是GET方式传值,可以用$_request和$_get接受传值。

补充一点,不要用$_REQUEST来取变量,因为这跟php.ini里的配置有关系

; This directive describes the order in which PHP registers GET, POST, Cookie,
; Environment and Built-in variables (G, P, C, E & S respectively, often
; referred to as EGPCS or GPC). Registration is done from left to right, newer
; values override older values.


variables_order = "EGPCS"如果同一个变量,既存在于get又存在于post,会取得get里的数据,因为我的G在P之前,EGPCS是个顺序,容易造成程序有漏洞



注意事项:
1.不要经常使用$_REQUEST,
2.如果不确定_GET/POST你接收数据时候,可以这样

 

view plain copyif($_SERVER['REQUEST_METHOD’]=="POST"){  
    $echo $_POST['名字'];  
}else if($_SERVER[’ REQUEST_METHOD’]=="GET"){  
    //用 _GET接收.  }

 


Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post