如何在向下一个控制器提交表单时发送和访问 parameter/value
How to send and access a parameter/value upon Form Submission to next controller
我是 Laravel 的新手。
我有一个控制器方法,它从请求中检索数据,创建一个模型实例
并将其保存到数据库。
然后它会重定向到具有值(用户名)的控制器
return redirect()->action('SignupController@confirm' , $username);
确认路线是:
Route::get('confirm/{user}' , 'SignupController@confirm');
在 'confirm' 方法中,我从变量中检索值并将其传递给视图
public function confirm($username)
{
return view('auth.confirm')->with('username' , $username);
}
确认视图出示表格以确认帐户,并在成功提交后post路由:
Route::post('confirm' , 'SignupController@confirmCode');
在 'confirmCode' 中,我想访问我实际上从用户输入中获取的值
并下线。
但我做不到,我什至尝试了 post 带有通配符的路线
Route::post('confirm/{user}' , 'SignupController@confirmCode');
并尝试像以前一样访问它,但是当表单提交时它没有传递,因为我什么也得不到
尝试使用 var_dump($username).
寻找它
错误是:
Missing argument 1 for App\Http\Controllers\SignupController::confirmCode()
顺便说一句,我暂时使用隐藏字段来完成这项工作,这显然不是一个好主意。
我知道我错过了什么。期待一些建议。提前致谢。
您可以简单地使用 Session::flash 或者如果它是多个重定向那么您可以使用 Session::put.
use Session; // at the top between class and namespace
public function confirm($username)
{
Session::flash('username', $username);
// Session::put('username',$username);
return view('auth.confirm')->with('username' , $username);
}
public function confirmCode() {
dd(Session::get('username'));
}
我是 Laravel 的新手。 我有一个控制器方法,它从请求中检索数据,创建一个模型实例 并将其保存到数据库。
然后它会重定向到具有值(用户名)的控制器
return redirect()->action('SignupController@confirm' , $username);
确认路线是:
Route::get('confirm/{user}' , 'SignupController@confirm');
在 'confirm' 方法中,我从变量中检索值并将其传递给视图
public function confirm($username)
{
return view('auth.confirm')->with('username' , $username);
}
确认视图出示表格以确认帐户,并在成功提交后post路由:
Route::post('confirm' , 'SignupController@confirmCode');
在 'confirmCode' 中,我想访问我实际上从用户输入中获取的值 并下线。 但我做不到,我什至尝试了 post 带有通配符的路线
Route::post('confirm/{user}' , 'SignupController@confirmCode');
并尝试像以前一样访问它,但是当表单提交时它没有传递,因为我什么也得不到 尝试使用 var_dump($username).
寻找它错误是:
Missing argument 1 for App\Http\Controllers\SignupController::confirmCode()
顺便说一句,我暂时使用隐藏字段来完成这项工作,这显然不是一个好主意。 我知道我错过了什么。期待一些建议。提前致谢。
您可以简单地使用 Session::flash 或者如果它是多个重定向那么您可以使用 Session::put.
use Session; // at the top between class and namespace
public function confirm($username)
{
Session::flash('username', $username);
// Session::put('username',$username);
return view('auth.confirm')->with('username' , $username);
}
public function confirmCode() {
dd(Session::get('username'));
}