程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> php中登錄後跳轉回原來要訪問的頁面實例

php中登錄後跳轉回原來要訪問的頁面實例

編輯:關於PHP編程

在很多網站用戶先訪問一個要登錄的頁面,但當時沒有登錄後來登錄了,等待用戶登錄成功之後肯定希望返回到上次訪問的頁面,下面我就來給大家介紹登錄後跳轉回原來要訪問的頁面實例

最簡單的辦法就是直接使用php $_SERVER['HTTP_REFERER']


如果我在A.php頁面要登錄


現在跳到B.php頁面,我們只要在b.php中加如下代碼

 代碼如下 復制代碼

$url = $_SERVER['HTTP_REFERER'];
header("location:$url");

但是上面的辦法會有很多不足,如帶參數等等,但在IE浏覽器下的話,假如你是通過js的location來跳轉的話,那這個值是獲取不到的。

 下面我做一個全面點的。


首先創建一個方法判斷是否登錄,如果沒登錄則

 代碼如下 復制代碼

protected function checkLogin() {
       if (沒有登錄){          
       $thisurl = "http://".$_SERVER["HTTP_HOST"].$_SERVER['PHP_SELF'];//當前URL
       $thisurl = urlencode($thisurl);//這裡要注意需要把獲取到的url轉碼,不然後面不好傳遞URL
           redirect("http://".$_SERVER["HTTP_HOST"]."/cityosweb/default.php/Index/login?url=".$thisurl);           
       }
   }

然後在需要登錄的才能反問的頁面調用這個方法:

 代碼如下 復制代碼

$this->checkLogin();

這樣如果你沒有登錄則跳轉到登錄頁面。並帶上了你之前頁面的url:


然後獲取URL提交登錄:

 代碼如下 復制代碼

public function login() {
        $url = $_GET['url'];
        $this->assign('url',$url);
        $this->assign('title','Login');
        $this->display('user/reg_new.html');
    }

模板上獲取到url後提交到php後台,登錄後跳轉到這個url ok搞定

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved