我是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);
}
确认视图提供表格以确认帐户,并在成功提交后发布到路线:
Route::post('confirm' , 'SignupController@confirmCode');
在'confirmCode'中我想访问我从用户输入中获取的值 并传下去了。 但我无法做到这一点,我甚至尝试使用外卡的路线
Route::post('confirm/{user}' , 'SignupController@confirmCode');
并试图像以前一样访问它,但是当表单提交时它不会传递,因为当我没有得到任何东西时 试图使用var_dump($ username)来查找它。
错误是:
Missing argument 1 for App\Http\Controllers\SignupController::confirmCode()
顺便说一句,暂时我正在使用隐藏字段来完成这项工作,这显然不是一个好主意。 我知道我错过了什么。期待一些建议。提前谢谢。
答案 0 :(得分:0)
您可以简单地使用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'));
}