PHP цикл foreach с данными формы

0

Я пытаюсь получить данные из html-формы через php и поместить его через цикл x раз для каждого ввода.

Это код:

    foreach ($_GET['first_input_field'] as $val)
{
$temp_second_field = $_GET['second_input_field'][$value];
for ($i = 0 ; $i <= $temp_second_field ; $i++)
{

echo $val;

   }
$i=0;
}

форма:

<input type="text" name="first_input_field[1]" id="field_1" value="Text 1"><input type="number" name="second_input_field[1]" min="1" max="4">
<input type="text" name="first_input_field[2]" id="field_2" value="Text 1"><input type="number" name="second_input_field[2]" min="1" max="4">
<input type="text" name="first_input_field[x]" id="field_x" value="Text 1"><input type="number" name="second_input_field[x]" min="1" max="4">

У формы есть кнопка +, которая добавляет оба поля (auto увеличивает first_input_field и second_input_field number).

Я пытаюсь повторить значение first_input_field x раз, где x - значение second_input_field, а затем повторить его.

Но я получаю Undefined index: error здесь. $temp_second_field = $_GET['second_input_field'][$value];

Ty за помощь заранее.

  • 0
    Если я вас правильно понимаю, я думаю, вам просто нужно переключить $ val на $ value или наоборот
  • 0
    Каков метод вашего <form> ?
Показать ещё 1 комментарий
Теги:
arrays
forms
foreach

2 ответа

3
Лучший ответ

Не помещайте числа в имя элемента HTML:

<input type="text" name="first_input_field[]" id="field_1" value="Text 1"><input type="number" name="second_input_field[]" min="1" max="4">
<input type="text" name="first_input_field[]" id="field_2" value="Text 1"><input type="number" name="second_input_field[]" min="1" max="4">
<input type="text" name="first_input_field[]" id="field_x" value="Text 1"><input type="number" name="second_input_field[]" min="1" max="4">

Edit: Кроме того, вы перебираете вещи, используя $value которое не задано в вашем коде, и на самом деле for цикла не требуется:

foreach ($_GET['first_input_field'] as $k=>$val) {
    $count = $_GET['second_input_field'][$k];
    str_repeat($val, $count);
}
  • 0
    это оно! большое Вам спасибо
  • 0
    Пожалуйста. Я отредактировал, чтобы удалить потребность во внутреннем цикле.
Показать ещё 2 комментария
0

Попробуйте изменить

$temp_second_field = $_GET['second_input_field'][$value];

в

$temp_second_field = $_GET['second_input_field'][$val];
  • 0
    я сделал, безуспешно :(

Ещё вопросы

Сообщество Overcoder
Наверх
Меню