在我的一个客户端服务器上,我创建了一个最多可包含800个输入字段的表单。但提交后,第200个之后的所有输入都丢失了。我已经检查了max_input_vars并将其设置为1000.而max_execution_time和max_input_time设置为60.我已经创建了一个测试文件,你可以在这里找到, url deleted 创建1000个输入字段提交打印POST数据。表格没问题,但是这个表格也会在提交后将输入#0显示为输入#199作为POST数据。
没有机会,
php Info可在此处找到: url已删除
测试文件的代码(test.php):
<?php
if($_SERVER['REQUEST_METHOD']=='POST') {
var_dump($_POST);
}
?>
<form action="" method="post">
<?php
for($i=0;$i<1000;$i++) {
echo "<input name='in[]' type='text' value='$i' />";
}
?>
<input type="submit" value="submit" />
</form>
谢谢!
答案 0 :(得分:1)
更改php.ini中的以下设置:
suhosin.post.max_vars 200 200
suhosin.request.max_vars 200 200
Suhosin is an advanced protection system for PHP installations.
可以通过在应用程序中的某个位置执行此操作来更改这些:
ini_set('suhosin.request.max_vars', 1000)
ini_set('suhosin.post.max_vars', 1000)
答案 1 :(得分:-2)
检查php.ini文件中的post_max_size并尝试增加它
如果您无法访问php.ini,请尝试ini_set("post_max_size", "100M");
默认为8MB