将大型表单发布到php文件
我有一个表单,上面有大约100个输入,我将它发送到一个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。(和所有其他钥匙) 看看这个 我必须承认,考虑到它的惊
为了不单独获取每个$\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 />";
}
}