thinkphp實現登陸後返回原界面

咱們一般會在項目裏定義一個登陸控制器和登陸界面用於用戶的登陸,但是一般咱們在方法裏會指定一個登陸成功或失敗返回的界面,一般失敗返回登陸界面從新登陸,成功則跳到首頁。
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);
}
相關文章
相關標籤/搜索