Мне нужно собрать данные формы из 8 различных форм. Мне нужно, чтобы все формы были подмассивами и имели только 1 массив, содержащий все подмассивы. Причина такой структуры в том, что я буду управлять содержимым по-разному в зависимости от подмассивов.
Каждая форма будет иметь свою собственную кнопку отправки, в настоящее время нет необходимости отправлять все формы одним запросом.
Ниже приведен код для 2 форм.
Вопрос: Если я заполняю обе формы, почему я не вижу одновременно [form_1] и [form_2] в print_r результат при последнем запуске формы?
Теория решения этой проблемы включает конструктор, который будет отвечать за объединение всех данных форм подмассивов.
Результат:
Array
(
[form_1] => Array
(
[user] => 123
)
)
Array
(
[form_2] => Array
(
[user] => 456
)
)
Требуемый результат: (должно быть 8, показаны только 2 для демонстрации):
Array
(
[form_1] => Array
(
[user] => 123
)
[form_2] => Array
(
[user] => 456
)
)
Мой код:
[routes / web.php]:
Route::get('/form-1', function () {
return view('form_1');
});
Route::get('/form-2', function () {
return view('form_2');
});
Route::post("/process_form_1", "FormHandler@result_1");
Route::post("/process_form_2", "FormHandler@result_2");
[Form_1.blade.php]:
Form-1
<form action="/process_form_1" method="post">
@csrf
<label for="1">Name</label>
<input id="1" type="text" name="user"><br>
<button submit="button" name="button">Send</button>
</form>
[Form_2.blade.php]:
Form-2
<form action="/process_form_2" method="post">
@csrf
<label for="1">Name</label>
<input id="1" type="text" name="user"><br>
<button submit="button" name="button">Send</button>
</form>
[FormHandler.php]:
пространство имен App \ Http \ Controllers;
use Illuminate \ Http \ Request;
class FormHandler extends Controller {
<code>function result_1(Request $request)
{
$this->result['form_1'] = $request->input();
echo "<pre>";
print_r($this->result);
echo "
"; // return (redirect ('form-1'));} function result_2 (Request $ request) {$ this-> result ['form_2'] = $ request-> input (); echo "
";
print_r($this->result);
echo "
"; // return ( redirect ('form-2'));}
}