tp获取referer里的域名_thinkPHP的redirect跳转和referer使用的问题
如果從Topic/topic頁面跳轉(zhuǎn)到Login/login頁面 使用$_SERVER['HTTP_REFERER']后再login頁面出來的地址是這樣的http://localhost/a/jz/index.php/Home/topic/topic,這個地址沒錯,為什么我使用redirect跳轉(zhuǎn)后地址欄上的地址就變成了這樣http://localhost/a/jz/index.php/a/jz/index.php/Home/Login/login.html?
而且這個跳轉(zhuǎn)的地址為什么并不是之前存入session的地址呢?
以下是login控制器下login操作方法跳轉(zhuǎn)部分的代碼
$url=$_SERVER['HTTP_REFERER'];
session('url',$url);
var_dump(session('url'));
if(!isset(session('res2')[0])){ //驗證通過產(chǎn)生的session是否存在
$this->display(); //不存在session還顯示login頁面
}else{
$this->redirect(session('url')); //存在則跳轉(zhuǎn)
}
回復內(nèi)容:
如果從Topic/topic頁面跳轉(zhuǎn)到Login/login頁面 使用$_SERVER['HTTP_REFERER']后再login頁面出來的地址是這樣的http://localhost/a/jz/index.php/Home/topic/topic,這個地址沒錯,為什么我使用redirect跳轉(zhuǎn)后地址欄上的地址就變成了這樣http://localhost/a/jz/index.php/a/jz/index.php/Home/Login/login.html?
而且這個跳轉(zhuǎn)的地址為什么并不是之前存入session的地址呢?
以下是login控制器下login操作方法跳轉(zhuǎn)部分的代碼
$url=$_SERVER['HTTP_REFERER'];
session('url',$url);
var_dump(session('url'));
if(!isset(session('res2')[0])){ //驗證通過產(chǎn)生的session是否存在
$this->display(); //不存在session還顯示login頁面
}else{
$this->redirect(session('url')); //存在則跳轉(zhuǎn)
}
應(yīng)該是$this->redirect處理的問題
方法一、把$_SERVER['HTTP_REFERER']獲取到的內(nèi)容用str_replace去掉前面這部分$url = str_replace('http://localhost/a/jz/index.php','',$url);
方法二、不使用$this->redirect(session('url'));跳轉(zhuǎn),改用header('location:'.session('url'));exit();
本文原創(chuàng)發(fā)布php中文網(wǎng),轉(zhuǎn)載請注明出處,感謝您的尊重!
總結(jié)
以上是生活随笔為你收集整理的tp获取referer里的域名_thinkPHP的redirect跳转和referer使用的问题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何获取图像的驱动_Adobe Came
- 下一篇: gerber文件怎么导贴片坐标_SMT贴