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