我们通常会在项目里定义一个登录控制器和登录界面用于用户的登录,可是通常我们在方法里会指定一个登录成功或失败返回的界面,通常失败返回登录界面重新登录,成功则跳到首页。
那么现在问题来了,如果用户一开始没有登录,而是观看了系统中的页面,在实现某一功能的时候,比如评论,这个时候就需要登录了,一般是跳到登录页面进行登录,而登录成功后又得重新来找到登录之前的界面,下面介绍一种实现登录后跳到原来界面的方法,以供参考。
在跳转时,跳转到定义的session中的地址。
先保存请求login方法界面的url
public function savelogin(){
session('returnUrl',$_SERVER['HTTP_REFERER']);
}
在登录方法最后跳转时控制
if($returnUrl = session('returnUrl')) {
session('returnUrl',null);
$this->success('登录成功',$returnUrl,0);
}else{
$this->success('登录成功',U("Home/Index/index"),0);
}
}
else if($returnUrl = session('returnUrl')){
session('returnUrl',null);
$this->error('登录失败(用户名或密码错误)',$returnUrl,0);
}
else{ $this->success('登录失败',U("Home/Login/index"),0);}
}退出时也一样
public function logout(){
$returnUrl=$_SERVER['HTTP_REFERER'];
session(null);
$this->success('退出成功',$returnUrl,1);
}免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。