POST不发送所有数据

时间:2016-09-22 13:47:02

标签: php post

我的屏幕上有大约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 检查数据,但是当我检查$_POST['orders_id']时,我会在PHP中找到107个。

1 个答案:

答案 0 :(得分:2)

使用这么多复选框,如果表单上有其他输入,则可能超出了PHP max_input_vars设置。 The PHP manual将此设置定义为:

  

可以接受多少输入变量(限制分别应用于$ _GET,$ _POST和$ _COOKIE superglobal)。使用此指令可以减少使用哈希冲突的拒绝服务攻击的可能性。如果输入变量多于此指令指定的输入变量,则会发出E_WARNING,并从请求中截断其他输入变量。

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