如何在登录laravel 6后重定向到上一页
我想在登录到Laravel 6后重定向到上一页。我不知道在如何在登录laravel 6后重定向到上一页,laravel,laravel-6,Laravel,Laravel 6,我想在登录到Laravel 6后重定向到上一页。我不知道在LoginController类中要更改什么 类登录控制器扩展控制器 { 使用认证用户; 受保护的$redirectTo=RouteServiceProvider::HOME; 公共函数构造() { $this->middleware('guest')->除了('logout'); } 公共函数showloginfo() { $data=数组( “标题”=>“签名”, '说明'=>'登录', “seo_关键字”=>“登录” ); 返回视图
LoginController
类中要更改什么
类登录控制器扩展控制器
{
使用认证用户;
受保护的$redirectTo=RouteServiceProvider::HOME;
公共函数构造()
{
$this->middleware('guest')->除了('logout');
}
公共函数showloginfo()
{
$data=数组(
“标题”=>“签名”,
'说明'=>'登录',
“seo_关键字”=>“登录”
);
返回视图('auth/login',$data);
}
}
首先,您必须在这样的会话中存储上一个URL
public function showLoginForm()
{
$data = array(
'title'=>'Signin',
'description'=> 'Login',
'seo_keywords'=> 'Signin'
);
if (session('link')) {
$myPath = session('link');
$loginPath = url('/login');
$previous = url()->previous();
if ($previous = $loginPath) {
session(['link' => $myPath]);
} else {
session(['link' => $previous]);
}
} else {
session(['link' => url()->previous()]);
}
return view('auth/login',$data);
}
然后在登录后重定向到此URL
protected function redirectTo()
{
if (session('link')) {
return session('link');
}
return property_exists($this, 'redirectTo') ? $this->redirectTo : '/dashboard';
}
我认为这将解决您的问题。首先,您必须在这样的会话中存储以前的URL
public function showLoginForm()
{
$data = array(
'title'=>'Signin',
'description'=> 'Login',
'seo_keywords'=> 'Signin'
);
if (session('link')) {
$myPath = session('link');
$loginPath = url('/login');
$previous = url()->previous();
if ($previous = $loginPath) {
session(['link' => $myPath]);
} else {
session(['link' => $previous]);
}
} else {
session(['link' => url()->previous()]);
}
return view('auth/login',$data);
}
然后在登录后重定向到此URL
protected function redirectTo()
{
if (session('link')) {
return session('link');
}
return property_exists($this, 'redirectTo') ? $this->redirectTo : '/dashboard';
}
我认为这将解决您的问题。如果您希望在LoginController中的登录方法中进行一些自定义,那么您必须在登录控制器中进行一些自定义。请参阅下面的代码
public function showLoginForm()
{
$data = array(
'title'=>'Signin',
'description'=> 'Login',
'seo_keywords'=> 'Signin'
);
session(['previous' => url()->previous()]);
return view('auth.login');
}
protected function authenticated(Request $request, $user)
{
return redirect(session('previous'));
}
如果您希望在LoginController中的登录方法中进行一些自定义,那么您必须在登录控制器中进行一些自定义。请参阅下面的代码
public function showLoginForm()
{
$data = array(
'title'=>'Signin',
'description'=> 'Login',
'seo_keywords'=> 'Signin'
);
session(['previous' => url()->previous()]);
return view('auth.login');
}
protected function authenticated(Request $request, $user)
{
return redirect(session('previous'));
}
为什么上一页?不转到下一页?假设我在url.com/my-first-blog上,并且在该页上,当用户单击评论页时,他/她将重定向到登录/注册页,用户希望在该页上发表评论。现在,成功登录后,他/她应该返回此url url.com/my-first-blog,在成功登录后在该页面上发表评论。您只需添加查询参数
login?next=/my first blog
,并在成功登录后将其带到/my first blog
。使用助手?@kerbholz how??为什么是上一页?不转到下一页?假设我在url.com/my-first-blog上,并且在该页上,当用户单击评论页时,他/她将重定向到登录/注册页,用户希望在该页上发表评论。现在,成功登录后,他/她应该返回此url url.com/my-first-blog,在成功登录后在该页面上发表评论。您可以添加查询参数login?next=/my-first-blog
,并在成功登录后将其带到/my-first-blog
。使用助手?@kerbholz how??