【问题标题】:How can i use a HTML form to POST dymanic options to a php script?如何使用 HTML 表单将动态选项发布到 php 脚本?
【发布时间】:2019-10-31 12:50:56
【问题描述】:

我有一个 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可能需要遍历所有选项并为所有发布的选项创建变量,然后回显它们,结果将是:

1 = 2
2 = 55
5 = 4

我怎样才能做到这一点?

【问题讨论】:

    标签: php html variables post dynamic


    【解决方案1】:

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

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

    【讨论】:

    • 如果我想使用 shell_exec 将这些数据写入文件而不是在 HTML 中显示它们,我该怎么做?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-01-18
    • 1970-01-01
    • 2020-02-05
    • 2014-07-20
    • 2012-10-13
    • 2012-03-15
    相关资源
    最近更新 更多