POST不发送的所有数据

问题描述:

我有大约135复选框POST不发送的所有数据

<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

这些值是不同的。在所有复选框? –

+0

是的,当然他们是不同的 – Ryo

+0

除了复选框,表单上还有其他元素吗?如果是这样,总共有多少? –

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

多少输入变量可以被接受(限制被施加到_GET,$ _POST和分别$ _COOKIE超全局)。该指令的使用减轻了使用散列冲突的拒绝服务攻击的可能性。如果有更多的输入变量超出此指令指定的范围,则发出E_WARNING,并从请求中截断更多输入变量。

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