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