Php 如何提交具有多个输入名称的表单
我有这张表格Php 如何提交具有多个输入名称的表单,php,arrays,submit,Php,Arrays,Submit,我有这张表格 <form action="products_identifiers_update.php" method="post"> <tr> <input type="hidden" name="id[]" value="2634" /> <td>beret <input type="hidden" name="sku[]" value="beret" /> </td>
<form action="products_identifiers_update.php" method="post">
<tr>
<input type="hidden" name="id[]" value="2634" />
<td>beret
<input type="hidden" name="sku[]" value="beret" />
</td>
<td>B07BZXKMB4
<input type="hidden" name="asin[]" value="B07BZXKMB4" />
</td>
<td>
<input type="text" name="connectionId[]" value="" />
</td>
<td>
<input type="checkbox" id="parent2634" name="isParent[]" switch="primary" value="1" />
<label class="parent" for="parent2634" style="width: 72px" data-on-label="Parent" data-off-label="Child"></label>
</td>
<td>
<input type="checkbox" id="fba2634" name="isFba[]" switch="primary" value="1" />
<label for="fba2634" data-on-label="Yes" data-off-label="No"></label>
</td>
</tr>
<tr>
<input type="hidden" name="id[]" value="1553" />
<td>beret_bezowy_rudy_lis
<input type="hidden" name="sku[]" value="beret_bezowy_rudy_lis" />
</td>
<td>B0776FFSTV
<input type="hidden" name="asin[]" value="B0776FFSTV" />
</td>
<td>
<input type="text" name="connectionId[]" value="" />
</td>
<td>
<input type="checkbox" id="parent1553" name="isParent[]" switch="primary" value="1" />
<label class="parent" for="parent1553" style="width: 72px" data-on-label="Parent" data-off-label="Child"></label>
</td>
<td>
<input type="checkbox" id="fba1553" name="isFba[]" switch="primary" value="1" />
<label for="fba1553" data-on-label="Yes" data-off-label="No"></label>
</td>
</tr>
<tr>
<input type="hidden" name="id[]" value="1554" />
<td>beret_bialy_czekolada_jenot
<input type="hidden" name="sku[]" value="beret_bialy_czekolada_jenot" />
</td>
<td>B0776HRFHH
<input type="hidden" name="asin[]" value="B0776HRFHH" />
</td>
<td>
<input type="text" name="connectionId[]" value="" />
</td>
<td>
<input type="checkbox" id="parent1554" name="isParent[]" switch="primary" value="1" />
<label class="parent" for="parent1554" style="width: 72px" data-on-label="Parent" data-off-label="Child"></label>
</td>
<td>
<input type="checkbox" id="fba1554" name="isFba[]" switch="primary" value="1" />
<label for="fba1554" data-on-label="Yes" data-off-label="No"></label>
</td>
</tr>
<tr>
<input type="hidden" name="id[]" value="1555" />
<td>beret_bordo_czarno_bialy_jenot
<input type="hidden" name="sku[]" value="beret_bordo_czarno_bialy_jenot" />
</td>
<td>B0776J6785
<input type="hidden" name="asin[]" value="B0776J6785" />
</td>
<td>
<input type="text" name="connectionId[]" value="" />
</td>
<td>
<input type="checkbox" id="parent1555" name="isParent[]" switch="primary" value="1" />
<label class="parent" for="parent1555" style="width: 72px" data-on-label="Parent" data-off-label="Child"></label>
</td>
<td>
<input type="checkbox" id="fba1555" name="isFba[]" switch="primary" value="1" />
<label for="fba1555" data-on-label="Yes" data-off-label="No"></label>
</td>
</tr>
<tr>
<input type="hidden" name="id[]" value="1556" />
<td>beret_brazowy_braz_syberyjski
<input type="hidden" name="sku[]" value="beret_brazowy_braz_syberyjski" />
</td>
<td>B0776JGFS9
<input type="hidden" name="asin[]" value="B0776JGFS9" />
</td>
<td>
<input type="text" name="connectionId[]" value="" />
</td>
<td>
<input type="checkbox" id="parent1556" name="isParent[]" switch="primary" value="1" />
<label class="parent" for="parent1556" style="width: 72px" data-on-label="Parent" data-off-label="Child"></label>
</td>
<td>
<input type="checkbox" id="fba1556" name="isFba[]" switch="primary" value="1" />
<label for="fba1556" data-on-label="Yes" data-off-label="No"></label>
</td>
</tr>
<tr>
<td>
<input type="submit" value="save">Save</td>
</tr>
</tbody>
在本例中,$\u POST是一个数组数组,因为您在表单中的
输入
字段上使用了name=“id[]”
,其中[]
也生成了所有这些发生的数组
所以处理它们可能不是这样的
foreach($_POST['id'] as $idx => $val){
echo "id[$idx] = " . $val;
echo "sku[$idx] = " . $_POST['sku'][$idx];
echo "asin[$idx] = " . $_POST['asin'][$idx];
// etc etc
}
因为它们是数组。执行
print\r($\u POST)
在脚本的顶部,您将看到所有内容。name=“id[]”
如果在该名称之后使用[]
,这会告诉浏览器id
是一个数组,它会将该字段作为数组传递到POST数组中。当我删除[]并提交它时,它只会给我最后一个结果。“为什么它给我id=array?”-因为该值是一个数组,所以当您尝试输出带有echo的数组时,只会得到文本“array”。您应该循环此子数组以访问其各个元素,或者如果您仅出于调试目的需要此子数组,请查看可以从数组生成正确文本表示形式的函数,如var_dump或print_r。
id = 2634
sku = beret
asin = B07BZXKMB4
connectionId = 2222
isFba = 1
isParent =
id = 1553
sku = beret_bezowy_rudy_lis
asin = B0776FFSTV
connectionId = 1111
isFba =
isParent = 1
......
foreach($_POST['id'] as $idx => $val){
echo "id[$idx] = " . $val;
echo "sku[$idx] = " . $_POST['sku'][$idx];
echo "asin[$idx] = " . $_POST['asin'][$idx];
// etc etc
}