[英]Laravel Redirect to Previous after login
我有一个登录表单,在表单提交后(如果验证正常)浏览器应该在登录前重定向到最后一页 。 目前我重定向回来,我总是进入相同的登录页面。 我的routes.php是这样的:
Route::get('/', 'HomeController@index');
Route::get('/list','EventController@index');
Route::get('/login','AuthController@login');
Route::post('/login','AuthController@do_login');
我在do_login()中的重定向是
if(Login_is_valid())
{
return Redirect::back();
}
如果我在里面/列表页面,然后打开登录并正确填写表格我被重定向到/登录再次是不是很奇怪? 非常感谢
您好,如果您使用Laravel 5.1,您可以下一步重定向到上一页
return back();
或者您可以使用Laravel保存上一页的会话
return redirect(Session::get('_previous')['url']);
在Auth / LoginController中有protected $redirectTo = '/home';
例如,将'/ home'更改为'/ loginin' ,并创建一个如下所示的新路由
Route::get('/loginin', function ()
{
$page = '/' . session()->get('page');
if($page != '')
{
session()->put('page', '');
return redirect($page);
}
else
{
return redirect('/home');
}
});
或者你可以把它放在一个控制器中并从路线中调用它
并在页面控制器中的每个函数中使用此代码
session->put('page','/name_of_the_page');
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.