我需要收集来自 8 种不同表单的表单数据。我需要所有表单都是子数组,并且只有 1 个数组包含所有子数组。这种结构的原因是我将根据子数组以不同的方式操作内容。
每个表单都有自己的提交按钮,目前不需要一个请求提交所有表单。
以下是其中 2 个表格的代码。
问题:如果我填写了两个表单,为什么我在最后一次运行表单时在 print_r 结果中没有看到 [form_1] 和 [form_2]?
如何解决它的理论包括一个负责合并所有子数组表单数据的构造函数。
结果:
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
)
)
我的代码:
[路线/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]:
表格-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]:
表 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;
使用 Illuminate\Http\Request;
类 FormHandler 扩展控制器 {
function result_1(Request $request)
{
$this->result['form_1'] = $request->input();
echo "<pre>";
print_r($this->result);
echo "</pre>";
// return (redirect('form-1'));
}
function result_2(Request $request)
{
$this->result['form_2'] = $request->input();
echo "<pre>";
print_r($this->result);
echo "</pre>";
// return (redirect('form-2'));
}
}