Допустим есть форма, формируемая в цикле, примерно так:
<form method="POST" action="">
<?php
foreach ($kurses as $name => $kurs) {
echo '<h2>Курс - '.$name.'</h2>';
echo '<input type="text" name="option1"><br>';
echo '<input type="text" name="option2"><br>';
echo '<input type="text" name="some_data[]"><br>';
}
?>
<input type="submit">
</form>
и после отправки формы, нужно сохранить данные формы в виде массива, чтобы ключом массива было название текущего курса в цикле, а значение ключа - настройки, выбранные для текущего курса.
И дело в том, что значение массива может также быть массивом, т.е. после submit переменная $_POST должна быть примерно такой:
array(
'kurs1' => array(
'option1' => 'test1',
'option2' => 'test2',
'option3' => array(
'inner_option' => 'test'
)
),
'kurs2' => array(
'option1' => 'test1',
'option2' => 'test2',
),
)
вся проблема во вложенном массиве, т.е. ведь нельзя в input записать так:
<input type="text" name="<?=$name?>[some_data[name_data]]">
Подскажите, как правильно сохранять такую форму?
Если я не ошибаюсь вы можете реализовать все это вот так:
<form method="POST" action="">
<?php
foreach ($kurses as $name => $kurs) {
echo '<h2>Курс - '.$name.'</h2>';
echo '<input type="text" name="<?=$name?>[option1]"><br>';
echo '<input type="text" name="<?=$name?>[option2]"><br>';
echo '<input type="text" name="<?=$name?>[some_data][]"><br>';
}
?>
<input type="submit">
И в some_data
будет ваш второстепенный массив.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Есть шаблон документа Накладной с таблицей и итоговым блокомНужно чтобы шапка таблицы и ее подвал (итоговый блок) повторялись на каждой странице...