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。
答
有了这么多复选框,如果表单上有其他输入,您可能会超出PHP的max_input_vars
设置。 The PHP manual定义此设置为:
多少输入变量可以被接受(限制被施加到_GET,$ _POST和分别$ _COOKIE超全局)。该指令的使用减轻了使用散列冲突的拒绝服务攻击的可能性。如果有更多的输入变量超出此指令指定的范围,则发出E_WARNING,并从请求中截断更多输入变量。
您可以通过在php.ini中增加该设置或减少表单中的输入数以适应限制来解决此问题。
这些值是不同的。在所有复选框? –
是的,当然他们是不同的 – Ryo
除了复选框,表单上还有其他元素吗?如果是这样,总共有多少? –