php中登錄后跳轉回原來要訪問的頁面實例
來源:程序員人生 發(fā)布時間:2014-04-30 21:03:42 閱讀次數(shù):3469次
在很多網(wǎng)站用戶先訪問一個要登錄的頁面,但當時沒有登錄后來登錄了,等待用戶登錄成功之后肯定希望返回到上次訪問的頁面,下面我就來給大家介紹登錄后跳轉回原來要訪問的頁面實例,最簡單的辦法就是直接使用 php $_SERVER['HTTP_REFERER']
如果我在A.php頁面要登錄,現(xiàn)在跳到B.php頁面,我們只要在b.php中加如下代碼:
- $url = $_SERVER['HTTP_REFERER'];
- header("location:$url");
但是上面的辦法會有很多不足,如帶參數(shù)等等,但在IE瀏覽器下的話,假如你是通過js的location來跳轉的話,那這個值是獲取不到的.
下面我做一個全面點的,首先創(chuàng)建一個方法判斷是否登錄,如果沒登錄則
- protected function checkLogin() {
- if (沒有登錄){
- $thisurl = "http://".$_SERVER["HTTP_HOST"].$_SERVER['PHP_SELF'];//當前URL
- $thisurl = urlencode($thisurl);
- 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搞定..
生活不易,碼農辛苦
如果您覺得本網(wǎng)站對您的學習有所幫助,可以手機掃描二維碼進行捐贈