我如何使用HTML表单将动态选项发布到php脚本?

时间:2019-06-17 22:23:01

标签: php html variables post dynamic

我有一个HTML表单,用户可以在其中添加新行并选择菜单项,他们可以添加的行数没有限制,但是新添加的行中的每个下拉菜单都是相同的。

下面的示例允许用户选择动物,然后选择数字。该表格是动态的,因此他们可以选择尽可能多的不同动物,并为每只动物输入一个数字。

HTML:

<select id="option" name="option[]" class="green-field form-control">
        <tr>
        <option value="1">bear</option>
        <option value="2">beaver</option>
        <option value="3">dog</option>
        <option value="4">kangaroo</option>
        <option value="5">cow</option>
</tr>
<input class="green-field form-control number" id="number" placeholder="Enter Number of animals" name="number[]">

提交表单后,将发送带有以下数据的POST请求:

option[]=1&number[]=2&option[]=2&number[]=55&option5[]=4

实际菜单包含100多个选项,并且取决于用户添加的项目数,可能会选择是否选中每个选项,因此我不确定如何使用PHP动态捕获发布的变量。

然后将该表单过帐到Submit.php 我想回显所提交的值,我尝试了以下常规方法:

<?php
$name = $_POST['option[]'];
$number = $_POST['number[]'];

echo $name;
echo $number;

?>

这不会捕获提交的数据,因此不会回显,我认为PHP可能需要遍历所有Options并为发布的所有options创建变量,然后回显它们,这样结果是:

1 = 2
2 = 55
5 = 4

我该如何实现?

1 个答案:

答案 0 :(得分:1)

使用foreach循环迭代两个数组。

foreach ($_POST['option'] as $key => $opt) {
    echo $_POST['name'][$key] . ': ' . $opt . '<BR>';
}