POST请求无法发送所有数据

4

我有一个大约有135个复选框的屏幕

<input type="checkbox" name="orders_id[] value="1"/>
<input type="checkbox" name="orders_id[] value="2"/>
.........
<input type="checkbox" name="orders_id[] value="135"/>

我勾选了所有复选框并提交,但在 $_POST 中只看到107个复选框的数据。

缺失的数据去哪了?

我将 POST_MAX_SIZE 更改为20M,但这并没有解决问题。

我在 Chrome 开发者工具的 HEADER 中检查,可以看到所有 135 个已选中的数据,但是在 PHP 中当我检查 $_POST['orders_id'] 时,只有 107 个。


1
所有复选框中的值都不同吗? - Rafael Shkembi
是的,当然它们是不同的。 - Ryo
是的,有许多文本框和输入框被隐藏了,大约有135*2个文本框。 - Ryo
6
иҜ·жЈҖжҹҘжӮЁзҡ„й…ҚзҪ®ж–Ү件дёӯзҡ„max_input_varsеҸӮж•°гҖӮж¶ҰиүІе№¶дҪҝе…¶жӣҙеҠ йҖҡдҝ—жҳ“жҮӮпјҢдҪҶдёҚиҰҒж”№еҸҳеҺҹж„ҸгҖӮ - Don't Panic
谢谢,不要惊慌。它解决了我的问题:D ,你拯救了我的夜晚:* - Ryo
显示剩余2条评论
1个回答

3
有那么多复选框,如果您的表单中还有其他输入,则可能超出了PHP的max_input_vars设置。 PHP手册将此设置定义为:

可以接受多少个输入变量(该限制分别应用于$ _GET,$ _POST和$ _COOKIE超级全局变量)。使用此指令可以减轻使用散列冲突的拒绝服务攻击的可能性。如果输入变量比此指令指定的更多,则会发出E_WARNING,并从请求中截断进一步的输入变量。

您可以通过增加php.ini中的设置或减少表单中的输入来解决此问题以适合限制。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接