最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
$_REQUEST、$_GET、$_POST、$_COOKIE 的关系和区别
时间:2022-06-24 16:05:58 编辑:袖梨 来源:一聚教程网
1.关系:$_REQUEST包含了$_GET、$_POST、$_COOKIE的所有内容,是它们的集合体。
2.$_GET、$_POST、$_COOKIE在$_REQUEST中都有一个副本。改变$_REQUEST的值不影响$_GET等,反之亦然。
3.GET和POST同名的情况下,$_REQUEST取的是POST的值。COOKIE与GET或POST重名的情况下,$_REQUEST取的是COOKIE的值。COOKIE的优先级最高。错误。
6.7.2010 update :
PHP.INI中很明确了,variables_order = "GPCS",
这个优先顺序是可以改变的。
真是的,我层次太低了。
测试开始。
测试1:
echo '';//源格式打印
//URL加上m=xxoo&url=www.111com.net来测试$_GET
print_r($_REQUEST);//首先打印内容
print_r($_GET);
$_REQUEST = array();//清空$_REQUEST
echo $_GET['m'];
echo '';
测试结果:$_GET['m']的值是xxoo。
测试2:
echo '';//源格式打印
//URL加上m=xxoo来测试$_GET
print_r($_REQUEST);
print_r($_GET);
$_GET = array();//清空
print_r($_REQUEST);
echo '';
测试结果:$_REQUEST['m']的值是xxoo。
结论:对$_REQUEST的操作没有影响到$_GET,反之亦然。$_REQUEST只是包含了一个$_GET的副本(the same as $_POST 哈哈)。
------------------------------------华丽的分隔线 www.111com.net:) ---------------------------------------------------
好。继续
测试3
//POST-GET重名测试
//从其他页面POST传送一个m的值为post,action地址加上m=get
print_r($_REQUEST);
print_r($_GET);
print_r($_POST);
结果:$_REQUEST['m'] == 'post'。
结论:同时提交GET和POST且同名,$_REQUEST取的是POST的值。(可能是POST优先级更高。)
测试4
//cookie与postget 重名测试
setcookie('m', 'cookie', time()+3600);//先把COOKIE种上,名字为m,值为cookie。然后刷新。(COOKIE要刷新才生效)
//从其他页面POST传送一个m的值为post,action地址加上m=get
print_r($_REQUEST);
结果:$_REQUEST['m'] == 'cookie'。结论:COOKIE的优先级最高。
相关文章
- 无期迷途主线前瞻兑换码是什么 11-22
- 原神欧洛伦怎么培养 11-22
- 炉石传说网易云音乐联动怎么玩 11-22
- 永劫无间手游确幸转盘怎么样 11-22
- 无期迷途主线前瞻兑换码是什么 无期迷途主线前瞻直播兑换码介绍 11-22
- 《潜行者2:切尔诺贝利之心》神出鬼没成就攻略分享 11-22