将大型表单发布到php文件

将大型表单发布到php文件,php,mysql,forms,userfrosting,Php,Mysql,Forms,Userfrosting,我有一个表单,上面有大约100个输入,我将它发送到一个php文件以提交数据。我正试图找到编码提交文件的最佳方法,这样我就不必对每个帖子值进行编码 为了不单独获取每个$\u POST[]值,可以使用extract(): 它将把每个$\u POST键变成一个变量 例如,不要这样做: $date = $_POST['date']; $station = $_POST['station']; extract将自动生成$date和$station。(和所有其他钥匙) 看看这个 我必须承认,考虑到它的惊

我有一个表单,上面有大约100个输入,我将它发送到一个php文件以提交数据。我正试图找到编码提交文件的最佳方法,这样我就不必对每个帖子值进行编码


为了不单独获取每个
$\u POST[]
值,可以使用
extract()

它将把每个
$\u POST
键变成一个变量

例如,不要这样做:

$date = $_POST['date'];
$station = $_POST['station'];
extract
将自动生成
$date
$station
。(和所有其他钥匙)

看看这个


我必须承认,考虑到它的惊人程度,我很惊讶这个函数没有得到太多的探索。

保持表字段名称和表单输入字段名称的相同名称。编写一个函数:

/**
         * @param array $fields_values
         * @param string $table
         * @return string
         */
        function _insertQuery(array $fields_values, $table) {
            $fields = implode(', ', array_keys($fields_values));
            $values = implode(', ', array_values($fields_values));
            return $query = "INSERT INTO {$table} ({$fields}) VALUES ({$values})";
        }

尝试使用
Jquery
serialize
方法,它根据您的表单返回一个用于发布的字符串,然后您可以使用
AJAX

e、 g:

考虑在表单变量上使用“name”属性。(检查您的标记,您缺少一个div-我可能放错了位置)

while($row\u airway\u supplies=mysql\u fetch\u array($result\u airway\u supplies)){>
“form=“supply”name=“stock[]”>
]> 
注意以下几点:

<input type="text" class="form-control" id="stock_<?php echo $row_airway_supplies['id'] ?>" form="supply" name="stock[<?php echo $row_airway_supplies['id'] ?>]">
<!-- and -->
<input type="text" class="form-control" id="request_<?php echo $row_airway_supplies['id'] ?>" form="supply" stock[<?php echo $row_airway_supplies['id'] ?>]> 
]>
通过添加name=stock[…]属性,表单变量将作为数组发布到提交处理程序。然后,您可以按如下方式处理它们:

foreach ($_FORM['stock'] as $supplies_id => $supplies_values {
   if (!empty($supplies_values) {
       echo "You submitted {$supplies_values} for id {$supplies_id}.<br />";
   }
}
foreach($形式['stock']作为$supplies\u id=>$supplies\u值{
如果(!空($U值){
echo“您为id{$supplies\u id}提交了{$supplies\u values}.
”; } }
你能确切解释一下你的问题是什么吗?请注意,看起来你使用的是一个非常过时的UF版本。如果可能的话,我强烈建议更新到v0.3.1。有些人可能会发现带有未知变量的污染名称空间并不令人惊讶。只要你小心使用,你就不会遇到任何问题。你不能小心使用sers可以发布任何内容,而您无法控制它。是否有办法忽略空值。我正在考虑使用if语句在最后一个代码段(if(!empty())中查看我的更新。
while ($row_airway_supplies = mysql_fetch_array($result_airway_supplies)) { ?>
    <div class="col-md-2">
        <?php echo $row_airway_supplies['name'] ?> 
    </div>
    <div class="col-md-2">
        <label class="sr-only" for="stock_<?php echo $row_airway_supplies['id'] ?>" form="supply">"></label>
        <div class="input-group">
            <div class="input-group-addon">Stock</div>
                <input type="text" class="form-control" id="stock_<?php echo $row_airway_supplies['id'] ?>" form="supply" name="stock[<?php echo $row_airway_supplies['id'] ?>]"> 
            </div>
        </div>
        <div class="col-md-2">
            <label class="sr-only" for="request_<?php echo $row_airway_supplies['id'] ?>" form="supply">Amount (in dollars)</label>
            <div class="input-group">
                <div class="input-group-addon">Request
                    <input type="text" class="form-control" id="request_<?php echo $row_airway_supplies['id'] ?>" form="supply" stock[<?php echo $row_airway_supplies['id'] ?>]> 
                </div>
            </div>
        </div>
    </div>
<?php } ?>
<input type="text" class="form-control" id="stock_<?php echo $row_airway_supplies['id'] ?>" form="supply" name="stock[<?php echo $row_airway_supplies['id'] ?>]">
<!-- and -->
<input type="text" class="form-control" id="request_<?php echo $row_airway_supplies['id'] ?>" form="supply" stock[<?php echo $row_airway_supplies['id'] ?>]> 
foreach ($_FORM['stock'] as $supplies_id => $supplies_values {
   if (!empty($supplies_values) {
       echo "You submitted {$supplies_values} for id {$supplies_id}.<br />";
   }
}