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的地址呢?
<code>以下是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')); //存在则跳转 }</code>
回覆內容:
如果從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的地址呢?
<code>以下是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')); //存在则跳转 }</code>
應該是$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();

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

適用於 Ubuntu 和 Debian 的 PHP 8.4 安裝和升級指南

如何設定 Visual Studio Code (VS Code) 進行 PHP 開發
