Допустим есть форма, формируемая в цикле, примерно так:
<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 будет ваш второстепенный массив.
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости