php - 在某些情况下输入表单数组值 null
问题描述
我有一个包含近 13000 个输入(复选框)的大表单,这是 html/smarty 代码,我的问题是在检查表单末尾的复选框(最后一个)时,它们的值始终为空。我像这样调试了 $_POST 值
if (isset($_POST['partsfilter'])) {
$vars = $_POST['partsfilter'];
var_dump($vars[5366]);
var_dump($vars[5368]);
var_dump($vars[5525]); this one return null when it shouldn't be
}
我在 htaccess 文件中试过这个
php_value post_max_size 20M
php_value upload_max_filesize 20M
php_value max_input_vars=15000
但问题始终存在我正在考虑使用 AJAX 从选中的复选框中获取值并提交表单,因为提交的(选中的输入)值不是太多(至少不是 13000)
<form method="post" enctype="multipart/form-data" id="frmpost">
<input type="hidden" name="hdn_id_product" value="{$s_product['id_product']}" />
{foreach from=$make_list item=mark}
<ul class="acnav__list acnav__list--level1">
<!-- start group 1 -->
<li class="has-children">
<div class="acnav__label ">
<div class="row">
<div class="col-md-4">{$mark.mid} {$mark.name}</div>
<div class="col-md-6">
<div class="row">
<div class="col-md-3">
<div class="checkbox">
<label><input type="checkbox" name="comp" value="">Compatible</label>
</div>
</div>
<div class="col-md-2">
<div class="checkbox">
<label><input type="checkbox" name="front" value="">Front</label>
</div>
</div>
<div class="col-md-2">
<div class="checkbox">
<label><input type="checkbox" value="">Rear</label>
</div>
</div>
<div class="col-md-2">
<div class="checkbox">
<label><input type="checkbox" value="">Left</label>
</div>
</div>
<div class="col-md-2">
<div class="checkbox">
<label><input type="checkbox" value="">Right</label>
</div>
</div>
</div>
</div>
<div class="col-md-2" style="margin-top: 10px;">
Years
</div>
</div>
<!-- add fields -->
</div>
<!-- start level 2 -->
{foreach from=$mark.cc item=cc}
<ul class="acnav__list acnav__list--level2">
<li class="has-children">
<div class="acnav__label acnav__label--level2">
<div style="width: 5%;float: left;opacity: 0.5;">{$cc.ccid}</div> <div style="width: 90%;float: left">{$cc.ccname}</div>
</div>
<!-- start level 3 -->
<ul class="acnav__list acnav__list--level3">
{foreach from=$cc.models item=model}
<li>
<div class="acnav__link acnav__link--level3">
<div class="row">
<div class="col-md-4">
<div style="width: 10%;float: left;display: inline-block;">{$model.mid}</div> <div style="width: 30%;float: left;display: inline-block;">{$cc.ccname}</div> <div style="display: inline;width:60%">{$model.name}</div>
</div>
<div class="col-md-6">
<div class="row">
<div class="col-md-3">
<div class="checkbox">
<label><input type="checkbox" {if isset($results) && isset($results[$model.mid])}{if $results[$model.mid]['compatible'] == '1'}checked{/if}{/if} value="1" name="partsfilter[{$model.mid}][comp]" ></label>
</div>
</div>
<div class="col-md-2">
<div class="checkbox">
<label><input type="checkbox" {if isset($results) && isset($results[$model.mid])}{if $results[$model.mid]['front'] == '1'}checked{/if}{/if} name="partsfilter[{$model.mid}][front]" value="1"></label>
</div>
</div>
<div class="col-md-2">
<div class="checkbox">
<label><input type="checkbox" {if isset($results) && isset($results[$model.mid])}{if $results[$model.mid]['rear'] == '1'}checked{/if}{/if} name="partsfilter[{$model.mid}][rear]" value="1"></label>
</div>
</div>
<div class="col-md-2">
<div class="checkbox">
<label><input type="checkbox" {if isset($results) && isset($results[$model.mid])}{if $results[$model.mid]['l_left'] == '1'}checked{/if}{/if} name="partsfilter[{$model.mid}][left]" value="1"></label>
</div>
</div>
<div class="col-md-2">
<div class="checkbox">
<label><input type="checkbox" {if isset($results) && isset($results[$model.mid])}{if $results[$model.mid]['r_right'] == '1'}checked{/if}{/if} name="partsfilter[{$model.mid}][right]" value="1"></label>
</div>
</div>
</div>
</div>
<div class="col-md-2">
{assign var=thisyear value=$smarty.now|date_format:"%Y"}
{if isset($results) && isset($results[$model.mid])}
{assign var="years" value=","|explode:$results[$model.mid]['year']}
{else}
{assign var="years" value=""}
{/if}
<div class="row">
<select name="partsfilter[{$model.mid}][yearbegin]" class="col-md-6">
{for $foo=1990 to $thisyear}
<option {if null !== $years AND $years!=""}{if $years[0] == $foo}selected{/if}{/if} value="{$foo}">{$foo}</option>
{/for}
</select>
<select name="partsfilter[{$model.mid}][yearfinish]" class="col-md-6">
{for $foo=1990 to $thisyear}
<option {if null !== $years AND $years!=""}{if $years[1] == $foo}selected{/if}{/if} value="{$foo}">{$foo}</option>
{/for}
</select>
</div>
</div>
</div>
</div>
</li>
{/foreach}
</ul>
<!-- end level 3 -->
</li>
</ul>
<!-- end level 2 -->
{/foreach}
</li>
<!-- end group 1 -->
<!-- start group 2 -->
<!-- end group 2 -->
<!-- start group 3 -->
<!-- end group 3 -->
</ul>
<!-- end level 1 -->
{/foreach}
<div class="panel-footer"><button class="btn btn-default pull-right" type="submit" name="assign_request"><i class="process-icon-save"></i> Save Information </button></div>
</form>
var_dump($_POST)
array (size=3)
'hdn_id_product' => string '43' (length=2)
'partsfilter' =>
array (size=42)
5798 =>
array (size=2)
'comp' => string '1' (length=1)
'front' => string '1' (length=1)
5799 =>
array (size=2)
'comp' => string '1' (length=1)
'front' => string '1' (length=1)
5806 =>
array (size=2)
'comp' => string '1' (length=1)
'front' => string '1' (length=1)
5863 =>
array (size=2)
'comp' => string '1' (length=1)
'front' => string '1' (length=1)
5886 =>
array (size=2)
'comp' => string '1' (length=1)
'front' => string '1' (length=1)
5872 =>
array (size=2)
'comp' => string '1' (length=1)
'front' => string '1' (length=1)
6838 =>
array (size=2)
'comp' => string '1' (length=1)
'front' => string '1' (length=1)
6811 =>
array (size=2)
'comp' => string '1' (length=1)
'front' => string '1' (length=1)
6820 =>
array (size=2)
'comp' => string '1' (length=1)
'front' => string '1' (length=1)
5979 =>
array (size=2)
'comp' => string '1' (length=1)
'front' => string '1' (length=1)
5994 =>
array (size=2)
'comp' => string '1' (length=1)
'front' => string '1' (length=1)
6001 =>
array (size=2)
'comp' => string '1' (length=1)
'front' => string '1' (length=1)
6004 =>
array (size=2)
'comp' => string '1' (length=1)
'front' => string '1' (length=1)
6828 =>
array (size=2)
'comp' => string '1' (length=1)
'front' => string '1' (length=1)
6081 =>
array (size=2)
'comp' => string '1' (length=1)
'front' => string '1' (length=1)
6092 =>
array (size=2)
'comp' => string '1' (length=1)
'front' => string '1' (length=1)
6193 =>
array (size=2)
'comp' => string '1' (length=1)
'front' => string '1' (length=1)
4846 =>
array (size=2)
'comp' => string '1' (length=1)
'front' => string '1' (length=1)
6206 =>
array (size=2)
'comp' => string '1' (length=1)
'front' => string '1' (length=1)
6224 =>
array (size=2)
'comp' => string '1' (length=1)
'front' => string '1' (length=1)
6244 =>
array (size=2)
'comp' => string '1' (length=1)
'front' => string '1' (length=1)
6274 =>
array (size=2)
'comp' => string '1' (length=1)
'front' => string '1' (length=1)
6338 =>
array (size=2)
'comp' => string '1' (length=1)
'front' => string '1' (length=1)
6279 =>
array (size=2)
'comp' => string '1' (length=1)
'front' => string '1' (length=1)
5203 =>
array (size=2)
'comp' => string '1' (length=1)
'front' => string '1' (length=1)
6327 =>
array (size=2)
'comp' => string '1' (length=1)
'front' => string '1' (length=1)
6479 =>
array (size=2)
'comp' => string '1' (length=1)
'front' => string '1' (length=1)
6540 =>
array (size=2)
'comp' => string '1' (length=1)
'front' => string '1' (length=1)
6542 =>
array (size=2)
'comp' => string '1' (length=1)
'front' => string '1' (length=1)
6545 =>
array (size=2)
'comp' => string '1' (length=1)
'front' => string '1' (length=1)
6579 =>
array (size=2)
'comp' => string '1' (length=1)
'front' => string '1' (length=1)
6649 =>
array (size=2)
'comp' => string '1' (length=1)
'front' => string '1' (length=1)
6639 =>
array (size=2)
'comp' => string '1' (length=1)
'front' => string '1' (length=1)
6650 =>
array (size=2)
'comp' => string '1' (length=1)
'front' => string '1' (length=1)
5366 =>
array (size=2)
'comp' => string '1' (length=1)
'front' => string '1' (length=1)
5367 =>
array (size=3)
'comp' => string '1' (length=1)
'front' => string '1' (length=1)
'rear' => string '1' (length=1)
5368 =>
array (size=3)
'comp' => string '1' (length=1)
'front' => string '1' (length=1)
'rear' => string '1' (length=1)
5369 =>
array (size=2)
'comp' => string '1' (length=1)
'front' => string '1' (length=1)
5370 =>
array (size=2)
'comp' => string '1' (length=1)
'front' => string '1' (length=1)
5371 =>
array (size=2)
'comp' => string '1' (length=1)
'front' => string '1' (length=1)
5372 =>
array (size=2)
'comp' => string '1' (length=1)
'front' => string '1' (length=1)
5373 =>
array (size=2)
'comp' => string '1' (length=1)
'front' => string '1' (length=1)
'partsfilterYears' =>
array (size=1457)
5798 =>
array (size=2)
'yearbegin' => string '1990' (length=4)
'yearfinish' => string '1990' (length=4)
5799 =>
array (size=2)
'yearbegin' => string '1990' (length=4)
'yearfinish' => string '1990' (length=4)
5800 =>
array (size=2)
'yearbegin' => string '1990' (length=4)
'yearfinish' => string '1990' (length=4)
5801 =>
array (size=2)
'yearbegin' => string '1990' (length=4)
'yearfinish' => string '1990' (length=4)
5802 =>
array (size=2)
'yearbegin' => string '1990' (length=4)
'yearfinish' => string '1990' (length=4)
5803 =>
array (size=2)
'yearbegin' => string '1990' (length=4)
'yearfinish' => string '1990' (length=4)
5804 =>
array (size=2)
'yearbegin' => string '1990' (length=4)
'yearfinish' => string '1990' (length=4)
5805 =>
array (size=2)
'yearbegin' => string '1990' (length=4)
'yearfinish' => string '1990' (length=4)
5806 =>
array (size=2)
'yearbegin' => string '1990' (length=4)
'yearfinish' => string '1990' (length=4)
5807 =>
array (size=2)
'yearbegin' => string '1990' (length=4)
'yearfinish' => string '1990' (length=4)
5808 =>
array (size=2)
'yearbegin' => string '1990' (length=4)
'yearfinish' => string '1990' (length=4)
5809 =>
array (size=2)
'yearbegin' => string '1990' (length=4)
'yearfinish' => string '1990' (length=4)
5810 =>
array (size=2)
'yearbegin' => string '1990' (length=4)
'yearfinish' => string '1990' (length=4)
解决方案
托管服务提供商通过调整这个 php 值解决了这个问题
php_value post_max_size 20M
php_value upload_max_filesize 20M
php_value max_input_vars=15000
推荐阅读
- r - 转置 R 数据框中的单个单元格
- java - 添加模块描述符时没有可用的名为“entityManagerFactory”的bean
- django - Django 表单未从模板提交
- c++ - 我用什么在c ++中存储数据
- javascript - 无法从 BSON 类型 int 转换为 Date
- mysql - 获取开始和结束时间 MYSQL
- python - 获取整个进程组的cpu使用率
- snowflake-cloud-data-platform - 雪花外部表刷新
- php - 带有 Eloquent 的 Laravel 播种器给时间戳 null
- docker - Docker 层的顺序是如何定义的?