繁体   English   中英

登录后,Laravel重定向到Previous

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM