千家信息网

PHP变量解析顺序如何获取提交数据

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,PHP变量解析顺序如何获取提交数据,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。PHP的学习并不能局限于书本上的那几段概念就能完全掌
千家信息网最后更新 2026年11月01日PHP变量解析顺序如何获取提交数据

PHP变量解析顺序如何获取提交数据,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

PHP的学习并不能局限于书本上的那几段概念就能完全掌握。还需要我们不断的从实践中去深入了解。下面就介绍一下PHP变量解析顺序的实践。故事从一个有点诡异的BUG开始,后台一个使用频率不是很高的广告提交功能有时候会莫名其妙的发生提交的链接网址出错的问题。

由于提交后并没有告知该次提交的链接URL,所以这个BUG一直活到了今天。然而并不是每一次提交都会出现这个BUG,几次测试后发现只有在连续多次提交时发生。由于提交的表单比较复杂,分几部分录入,于是怀疑在中间环节发生错误。

排错的过程先是在各个过程中var_dump($_REQUEST),于是连续第二次提交时找到出错环节,在***个表单提交到第二个表单的过程中,$_REQUEST数组发生改变。到这里,我们有必要再看一下$_REQUEST数组:

手册上讲包含经由 GET,POST 和 COOKIE 机制提交至脚本的变量,因此该数组并不值得信任。以此将var_dump($_REQUEST)分解成var_dump($_POST),var_dump($_GET),var_dump($_COOKIE),问题就比较清晰了,原来为了便于在多个页面表单间保存值,试用了COOKIE,虽然没有设置expire项的情况下SESSION结束时COOKIE变销毁,但是如果在一次会话中连续提交多个广告,表单POST的值变会被之前保存在COOKIE的值覆盖,而之所以只有部分出错,在于保存到COOKIE的时候COOKIE变量名都加了前缀,除了url这个变量还是使用相同的变量名。

问题找到了,但是又有新的疑问,相同的变量名,为什么是COOKIE覆盖了POST而不是相反呢?于是终于要来到标题讲的variables_order设置项了,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.

意思是该设置描述PHP解析变量顺序,包括$_GET,$_POST,$_COOKIE,$_ENV ,$_SERVER 数组,
解析顺序从左到右,后解析新值覆盖旧值。默认设定为EGPCS(Environment,GET,POST,Cookie,Server)。
如果将其设为"GP",会导致 PHP 完全忽略环境变量,cookies 和 server 变量,并用 POST 方法的变量覆盖 GET 方法的同名变量。

结论:

就像手册上讲的,$_REQUEST是个并不值得信任的数组。为了尽量避免类似问题,在获取提交值是应明确使用$_POST或$_GET数组。

特殊情况下可以通过调整variables_order设置,使自己总是能得到想要获取的提交数据。

关于PHP变量解析顺序如何获取提交数据问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注行业资讯频道了解更多相关知识。

变量 问题 数组 顺序 表单 数据 方法 过程 相同 只有 多个 广告 情况 手册 更多 环节 部分 链接 实践 帮助 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技公司 互联网科技公司华为 A股互联网金融科技公司 互联网最新的科技 互联网金融科技创新 广西互联网科技公司 互联网科技宣传片 科技伦理 互联网公司 广西拼得多互联网科技有限公司 常德市电业局互联网科技部 受益于互联网科技的高速发展 华夏互联网科技业 苏州铭阳互联网科技有限公司 广州新华互联网科技学校电竞方面 富国互联网金融科技混合基金 富国互联网科技002692 广州梦谷互联网科技有限公司领导 保山浩联互联网科技有限公司 安徽九吞吴互联网科技有限公司 互联网大会出现的黑科技 为想互联网科技怎么样 互联网科技巨头监管 中国互联网科技发展 互联网养老 桔豆科技 科技与互联网哪个更好 互联网5g黑科技有哪些 中国科技创新与世界互联网大会 华夏恒生互联网科技013171 长沙易易互联网科技有限公司 银川新华互联网科技学校招聘
0