Как я могу использовать HTML-форму для отправки Dymanic опций в PHP-скрипт? - PullRequest
0 голосов
/ 18 июня 2019

У меня есть 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

Как я могу достичь этого?

1 Ответ

1 голос
/ 18 июня 2019

Используйте цикл foreach для итерации обоих массивов.

foreach ($_POST['option'] as $key => $opt) {
    echo $_POST['name'][$key] . ': ' . $opt . '<BR>';
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...