thinkphp实现登录后返回原界面

我们通常会在项目里定义一个登录控制器和登录界面用于用户的登录,可是通常我们在方法里会指定一个登录成功或失败返回的界面,通常失败返回登录界面重新登录,成功则跳到首页。

成都创新互联坚持“要么做到,要么别承诺”的工作理念,服务领域包括:成都网站设计、做网站、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的漾濞网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!

那么现在问题来了,如果用户一开始没有登录,而是观看了系统中的页面,在实现某一功能的时候,比如评论,这个时候就需要登录了,一般是跳到登录页面进行登录,而登录成功后又得重新来找到登录之前的界面,下面介绍一种实现登录后跳到原来界面的方法,以供参考。

在跳转时,跳转到定义的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);
}

当前文章:thinkphp实现登录后返回原界面
浏览地址:http://scyanting.com/article/gpojco.html