咱们一般会在项目里定义一个登陆控制器和登陆界面用于用户的登陆,但是一般咱们在方法里会指定一个登陆成功或失败返回的界面,一般失败返回登陆界面从新登陆,成功则跳到首页。
session
那么如今问题来了,若是用户一开始没有登陆,而是观看了系统中的页面,在实现某一功能的时候,好比评论,这个时候就须要登陆了,通常是跳到登陆页面进行登陆,而登陆成功后又得从新来找到登陆以前的界面,下面介绍一种实现登陆后跳到原来界面的方法,以供参考。ide
在跳转时,跳转到定义的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); }