我是laravel的新手,我希望获得以下结果,让我们说客人在搜索一个术语后进入结果页面,然后决定登录,我该如何让用户登录在laravel中保留相同的结果页面 我有以下代码 在filters.php中我有以下内容:
Route::filter('guest', function()
{
if (Auth::check()) return Redirect::to('/');
});
然后在用户控制器中我有以下
show login function
public function login()
{
return View::make('users.login');
}
句柄登录功能 公共函数handleLogin() { $ data =仅输入:: ['电子邮件','密码']);
if(Auth::attempt(['email' => $data['email'], 'password' => $data['password']])){
return Redirect::to('/profile');
}
return Redirect::route('login')->withInput();
}
现在登录后的默认页面会转到个人资料页面,但我希望用户在登录前回到他所在的任何地方。
任何帮助?谢谢
答案 0 :(得分:0)
我认为这就是你要找的东西
return Redirect::back();
答案 1 :(得分:0)
在Laravel 4中,您可以使用Redirect::guest
和Redirect::intended
轻松实现目标。
Redirect::guest
在重定向到目标网址之前将当前网址放入会话中。
Redirect::intended
检查会话中是否保存了任何网址,重定向到该网址或默认位置(如果不存在)。
在行动中,您的代码可以是:
if(Auth::attempt(['email' => $data['email'], 'password' => $data['password']])){
return Redirect::guest('/profile');
}
并在登录后
if (Auth::check()) return Redirect::intended();