PHP和(太)多的输入字段

PHP和(太)多的输入字段,php,arrays,input,Php,Arrays,Input,我有一个html表单,大约有1500个输入字段*(文本或隐藏)。 form.action是POST,每个inputfield都有一个唯一的名称(no name=foo[]) 每当我试图在提交表单后用PHP打印$u请求的每个变量时,只打印前几个条目。事实上,$\u请求变量只包含1001项(因此缺少大约500个字段) 知道为什么会这样吗 由于数据是通过post not get发送的,所以url限制不是问题。所以我认为Web服务器的配置有问题,请求太大了。但是设置为0不会改变结果中的任何内容 关于这个

我有一个html表单,大约有1500个输入字段*(文本或隐藏)。 form.action是POST,每个inputfield都有一个唯一的名称(no name=foo[])

每当我试图在提交表单后用PHP打印$u请求的每个变量时,只打印前几个条目。事实上,$\u请求变量只包含1001项(因此缺少大约500个字段)

知道为什么会这样吗

由于数据是通过post not get发送的,所以url限制不是问题。所以我认为Web服务器的配置有问题,请求太大了。但是设置为0不会改变结果中的任何内容

关于这个PHP数组使用的内存,我只知道大小只受总内存的限制,这应该足够了。(每个键大约20个字符,每个值大约6个字符)

我错过什么了吗


*如果您想知道:导航由大约750个条目组成,每个条目有两个字段(一个位置用于排序,一个位置用于嵌套的父项)

检查php.ini配置中的值-也许您已经超过了它?

也许您超过了帖子的大小?你可以使用mime多部分,就像人们在发布文件一样

尝试覆盖php_标志max_input_vars

添加到.htaccess文件或更改php.ini

php_flag max_input_vars 1500
还有一个用于嵌套的标志

php_flag max_input_nesting_level 64

自PHP5.3.9以来,有一个名为“”的新配置设置,它限制了输入变量的数量。默认设置为1000。还要检查是否已安装,因为还有一个


尽管如此,我还是建议尽可能减少字段的数量。

您需要1500个输入字段做什么?您使用什么版本的PHP和web服务器?将表单拆分为多个部分如何。。。不管怎么说,1500美元太多了,不能一下子改变。这对用户和服务器都有好处。尝试在php.ini()中增加post_max_大小,也许您可以进行一些客户端优化。您只能发布编辑/更改的输入字段,而不是发布所有内容。此外,IIS似乎只允许200kb的检查:我建议使用多部分表单,因为这就是我自己解决类似问题的方法。但是tranver/Eddy似乎安装了一个更可靠的解决方案。PHP 5.3.3-7,但配置中仍然包含这些属性。将它们设置为2000确实解决了问题PHP 5.3.3-7是由Debian安全团队维护的遗留发行版,基本上是PHP 5.3.3+最新的安全修复。