HTML& PHP输入[]< - 数组?限制

时间:2011-07-08 10:32:44

标签: php javascript html arrays

当你添加另一个具有类似名字的input时,有些人可以确认我的理论,而不是简短的方法。 myvar_0myvar_1您应该使用javascript来生成inputs,但有input "array" type,您可以在其中创建名称input myvar[]myvar[]myvar[]这可以充当array并通过post将值传递给PHP array,但最近我我发现由于一些奇怪的原因,array目前197 values(或196是最大能力指数值)的限制与chrome目前相同(未在其他浏览器上发短信) 。

其他人是否也遇到过类似的问题?

4 个答案:

答案 0 :(得分:5)

如果您使用suhosin,则会对通过POST发送的max_vars带来限制。
默认设置为200,因此可能是您的问题。

请参阅:suhosin.post.max_vars

答案 1 :(得分:2)

数组格式与html或浏览器无关,因为浏览器方括号并不代表任何特殊的东西,它会发送所有的键,值对与opt [] e.x相同的键。

代表

<input type="hidden name="opt[]" value="1"/>
<input type="hidden name="opt[]" value="2"/>
<input type="hidden name="opt[]" value="3"/>

浏览器将发送

opt[]=1
opt[] =2
opt[]=3

作为对服务器的请求;

它的PHP很聪明,可以将其解释为名为“opt”的索引数组。

答案 2 :(得分:1)

我刚刚做了一个简单的测试(见下文),它返回(对我来说)一个帖子数组中的200个项目。

<form method="post">
<?php

print count($_POST['opt']);

for($i = 0; $i < 200; $i++){
?><input type="hidden" name="opt[]" value="1" /><?php
}

?>
<input type="submit" />
</form>

我得到的印象更多的是发送的数据或服务器本身,而不是PHP的限制。

答案 3 :(得分:0)

答案是Suhoshin安全模块,经过一些研究后我发现实际上max_post_vars设置为200,这有点阻止其余数据被处理,感谢您的所有答案: - )