在很多網(wǎng)站用戶先訪問一個(gè)要登錄的頁面,但當(dāng)時(shí)沒有登錄后來登錄了,等待用戶登錄成功之后肯定希望返回到上次訪問的頁面,下面我就來給大家介紹登錄后跳轉(zhuǎn)回原來要訪問的頁面實(shí)例,最簡單的辦法就是直接使用 php $_SERVER['HTTP_REFERER']
如果我在A.php頁面要登錄,現(xiàn)在跳到B.php頁面,我們只要在b.php中加如下代碼:
- $url = $_SERVER['HTTP_REFERER'];
- header("location:$url");
但是上面的辦法會(huì)有很多不足,如帶參數(shù)等等,但在IE瀏覽器下的話,假如你是通過js的location來跳轉(zhuǎn)的話,那這個(gè)值是獲取不到的.
下面我做一個(gè)全面點(diǎn)的,首先創(chuàng)建一個(gè)方法判斷是否登錄,如果沒登錄則
- protected function checkLogin() {
- if (沒有登錄){
- $thisurl = "http://".$_SERVER["HTTP_HOST"].$_SERVER['PHP_SELF'];//當(dāng)前URL
- $thisurl = urlencode($thisurl);//這里要注意需要把獲取到的url轉(zhuǎn)碼,不然后面不好傳遞URL
- redirect("http://".$_SERVER["HTTP_HOST"]."/cityosweb/default.php/Index/login?url=".$thisurl);
- }
- }
然后在需要登錄的才能反問的頁面調(diào)用這個(gè)方法,代碼如下:$this->checkLogin();,這樣如果你沒有登錄則跳轉(zhuǎn)到登錄頁面,并帶上了你之前頁面的url:然后獲取URL提交登錄,代碼如下:
- public function login() {
- $url = $_GET['url'];
- $this->assign('url',$url);
- $this->assign('title','Login');
- $this->display('user/reg_new.html');
- }
模板上獲取到url后提交到php后臺(tái),登錄后跳轉(zhuǎn)到這個(gè)url ok搞定..
新聞熱點(diǎn)
疑難解答