thinkphp实现登录后返回原界面
发表于:2024-11-27 作者:热门IT资讯网编辑
编辑最后更新 2024年11月27日,我们通常会在项目里定义一个登录控制器和登录界面用于用户的登录,可是通常我们在方法里会指定一个登录成功或失败返回的界面,通常失败返回登录界面重新登录,成功则跳到首页。那么现在问题来了,如果用户一开始没有
我们通常会在项目里定义一个登录控制器和登录界面用于用户的登录,可是通常我们在方法里会指定一个登录成功或失败返回的界面,通常失败返回登录界面重新登录,成功则跳到首页。
那么现在问题来了,如果用户一开始没有登录,而是观看了系统中的页面,在实现某一功能的时候,比如评论,这个时候就需要登录了,一般是跳到登录页面进行登录,而登录成功后又得重新来找到登录之前的界面,下面介绍一种实现登录后跳到原来界面的方法,以供参考。
在跳转时,跳转到定义的session中的地址。先保存请求login方法界面的urlpublic 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);}