在很多網站使用者先訪問一個要登入的頁面,但當時沒有登入後來登入了,等待使用者登入成功之後肯定希望返回到上次訪問的頁面,下面我就來給大家介紹登入後跳回原來要訪問的頁面執行個體
最簡單的辦法就是直接使用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搞定
http://www.bkjia.com/PHPjc/631554.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/631554.htmlTechArticle在很多網站使用者先訪問一個要登入的頁面,但當時沒有登入後來登入了,等待使用者登入成功之後肯定希望返回到上次訪問的頁面,下面我就...