URL GET变量消失

URL GET variable disappear

我有一个简单的页面来打印数据库中的一些数据。 我使用 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" 
} 

您可以根据需要将 max_input_vars 长度从 1000 更新为 3000 等等。尝试使用以下代码来增加输入变量 length.put 此代码在脚本启动时增加。

ini_set('max_input_vars', 3000);

希望对你有所帮助。

您似乎达到了 GET 变量的最大长度限制 - 可能是 1024。这很可能是由于您使用的 PHP 版本。我在 php.net 上找到了这篇可能对你有用的笔记: https://www.php.net/manual/en/reserved.variables.get.php#101469