Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何提交具有多个输入名称的表单_Php_Arrays_Submit - Fatal编程技术网

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
}