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