当你添加另一个具有类似名字的input
时,有些人可以确认我的理论,而不是简短的方法。 myvar_0
,myvar_1
您应该使用javascript
来生成inputs
,但有input "array" type
,您可以在其中创建名称input
myvar[]
,myvar[]
,myvar[]
这可以充当array
并通过post
将值传递给PHP array
,但最近我我发现由于一些奇怪的原因,array
目前197 values
(或196是最大能力指数值)的限制与chrome
目前相同(未在其他浏览器上发短信) 。
其他人是否也遇到过类似的问题?
答案 0 :(得分:5)
如果您使用suhosin
,则会对通过POST发送的max_vars
带来限制。
默认设置为200,因此可能是您的问题。
答案 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,这有点阻止其余数据被处理,感谢您的所有答案: - )