PHP中全局变量$_REQUEST、 $_GET、 $_POST、 $_COOKIE 的关系和区别 (转载)

简介: 原文地址找不到了 sorry $_REQUEST、 $_GET、 $_POST、 $_COOKIE  的关系和区别:1.关系:$_REQUEST包含了$_GET、$_POST、$_COOKIE的所有内容,是它们的集合体。

原文地址找不到了 sorry快哭了

$_REQUEST、 $_GET、 $_POST、 $_COOKIE  的关系和区别:
1.关系:$_REQUEST包含了$_GET、$_POST、$_COOKIE的所有内容,是它们的集合体。(测试1)


2.$_GET、$_POST、$_COOKIE在$_REQUEST中都有一个副本。改变$_REQUEST的值不影响$_GET等,反之亦然。(测试2)

3.GET和POST同名的情况下,$_REQUEST取的是POST的值。(测试3)


4.COOKIE与GET或POST重名的情况下,$_REQUEST取的是COOKIE的值。COOKIE的优先级最高。(测试4)

测试开始。

测试1:
echo '<pre>';//源格式打印
//URL加上m=xxoo来测试$_GET
    print_r($_REQUEST);//首先打印内容
    print_r($_GET);

    $_REQUEST = array();//清空$_REQUEST
    echo $_GET['m'];
echo '</pre>'; 

测试结果:$_GET['m']的值是xxoo。

测试2:
echo '<pre>';//源格式打印
//URL加上m=xxoo来测试$_GET
    print_r($_REQUEST);
    print_r($_GET);

    $_GET = array();//清空
    print_r($_REQUEST);
echo '</pre>'; 

测试结果:$_REQUEST['m']的值是xxoo。

结论:对$_REQUEST的操作没有影响到$_GET,反之亦然。$_REQUEST只是包含了一个$_GET的副本(the same as $_POST 哈哈)。

测试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与post\get 重名测试
setcookie('m', 'cookie', time()+3600);//先把COOKIE种上,名字为m,值为cookie。然后刷新。(COOKIE要刷新才生效)

//从其他页面POST传送一个m的值为post,action地址加上m=get
print_r($_REQUEST); 

结果:$_REQUEST['m'] == 'cookie'。结论:COOKIE的优先级最高。



目录
相关文章
|
2天前
|
存储 缓存 网络协议
计算机网络常见面试题(二):浏览器中输入URL返回页面过程、HTTP协议特点,GET、POST的区别,Cookie与Session
计算机网络常见面试题(二):浏览器中输入URL返回页面过程、HTTP协议特点、状态码、报文格式,GET、POST的区别,DNS的解析过程、数字证书、Cookie与Session,对称加密和非对称加密
|
14天前
|
存储 安全 数据安全/隐私保护
Cookie 和 Session 的区别及使用 Session 进行身份验证的方法
【10月更文挑战第12天】总之,Cookie 和 Session 各有特点,在不同的场景中发挥着不同的作用。使用 Session 进行身份验证是常见的做法,通过合理的设计和管理,可以确保用户身份的安全和可靠验证。
13 1
|
2月前
|
存储 缓存 数据处理
php学习笔记-php会话控制,cookie,session的使用,cookie自动登录和session 图书上传信息添加和修改例子-day07
本文介绍了PHP会话控制及Web常用的预定义变量,包括`$_REQUEST`、`$_SERVER`、`$_COOKIE`和`$_SESSION`的用法和示例。涵盖了cookie的创建、使用、删除以及session的工作原理和使用,并通过图书上传的例子演示了session在实际应用中的使用。
php学习笔记-php会话控制,cookie,session的使用,cookie自动登录和session 图书上传信息添加和修改例子-day07
|
22天前
|
存储 JavaScript 前端开发
vuex和localstorage . cookie的区别
【10月更文挑战第8天】
47 1
|
3月前
|
存储 JavaScript 前端开发
学习vuex和localstorage . cookie的作用与区别
探讨Vuex、LocalStorage与Cookie:三种关键技术在现代Web开发中的角色。Vuex作为Vue的状态管理工具,提供集中、响应式且可预测的状态变更机制,适用于复杂应用。LocalStorage为客户端提供大容量、持久化的数据存储方案,适合保存用户偏好等静态信息。Cookie则擅长会话跟踪与认证管理,数据虽小却能在客户端与服务器间传递。每种技术针对不同场景各有优势,合理选用是关键。
|
28天前
|
存储 缓存 JavaScript
cookie和localStorage的区别特点
cookie和localStorage的区别特点
75 0
|
3月前
|
应用服务中间件 Linux 网络安全
【Azure 应用服务】PHP应用部署在App Service for Linux环境中,上传文件大于1MB时,遇见了413 Request Entity Too Large 错误的解决方法
【Azure 应用服务】PHP应用部署在App Service for Linux环境中,上传文件大于1MB时,遇见了413 Request Entity Too Large 错误的解决方法
|
3月前
|
存储 缓存 JavaScript
cookie和localStorage的区别特点
cookie和localStorage的区别特点
43 0
|
4月前
|
存储 安全 搜索推荐
Cookie和Session的区别,99%的程序员都不知道的细节!
大家好,我是小米,在Web开发中,Cookie和Session是两种重要的状态管理工具。它们有着不同的存储位置、安全性和应用场景。本篇文章将详细解析它们的区别和应用,让你在开发过程中能够更加游刃有余。让我们一起深入了解吧!
91 1
|
5月前
|
JSON PHP 数据格式
蓝易云 - PHP用CURL发送Content-type为application/json的POST请求方法
在这段代码中,我们首先创建了一个包含我们要发送的数据的数组,并使用 `json_encode`函数将其转换为JSON格式。然后,我们初始化了一个cURL会话,并设置了一些选项,包括POST请求方法、要发送的数据、返回结果和HTTP头部信息。最后,我们执行了cURL请求并关闭了会话。
125 2