首页 > 解决方案 > URL GET 变量消失

问题描述

我有一个简单的页面来打印数据库中的一些数据。我使用 php GET 变量,(我知道它已被弃用,但它在本地网络上工作)。

它运行良好,但如果 'valami' 长度更大,则 'valami' 变量消失。当长度为 1061 时它不起作用

在 php.ini 中:

max_input_vars=3000

查询字符串末尾的aid变量是否也被我的代码看到了?因此,这似乎不是查询字符串长度问题。

问题是什么?

PHP5

print_fizet.php?valami=28925|28926|28927|28928|28929|28930|28931|28932|28933|28934|28935|28936|28937|28938|28939|28940|28941|28942|28943|29055|29056|29057|29058|29059|29060|29061|29062|29073|29074|29075|29076|29077|29078|29079|29080|29092|29094|29095|29096|29097|29098|29099|29100|29101|29102|29103|29104|29105|29106|29107|29108|29109|29110|29111|29125|29142|29143|29144|29145|29146|29150|29151|29152|29168|29169|29170|29171|29172|29173|29174|29175|29176|29177|29178|29179|29180|29181|29182|29183|29184|29185|29186|29187|29188|29189|29190|29191|29192|29193|29194|29195|29196|29197|29198|29199|29200|29201|29202|29203|29204|29205|29206|29207|29208|29209|29210|29211|29212|29213|29230|29231|29232|29259|29260|29264|29265|29270|29281|29291|29292|29299|29300|29301|29303|29318|29339|29345|29346|29347|29348|29349|29350|29351|29352|29353|29360|29361|29367|29368|29369|29370|29371|29385|29386|29387|29388|29408|29409|29410|29411|29412|29413|29434|29435|29436|29490|29491|29508|29519|29523|29524|29525|29526|29527|29533|29534|29535|29545|29546|29547|29548|29549|29550|29551|29552|29554|29581&aid=23

更新

当我做一个

var_dump($_GET); 

输出是

array(1) { 
    ["aid"]=> string(2) "23" 
}

我得到的只是查询字符串末尾的变量

当我制作一个较短的valami变量时它可以工作:

array(2) { 
    ["valami"]=> string(509) "29197|...|29581" 
    ["aid"]=> string(2) "23" 
} 

标签: phpuri

解决方案


您可以根据需要将 max_input_vars 长度从 1000 更新为 3000 等等。尝试下面的代码来增加输入变量的长度。将此代码放在脚本的开始处。

ini_set('max_input_vars', 3000);

我希望这对你有帮助。


推荐阅读