MozTW 討論區 https://forum.moztw.org/ |
|
PHP中$_SERVER['HTTP_REFERER']變數的問題 https://forum.moztw.org/viewtopic.php?f=13&t=15265 |
第 1 頁 (共 1 頁) |
發表人: | cmi [ 2006-08-18, 09:57 ] |
文章主題 : | PHP中$_SERVER['HTTP_REFERER']變數的問題 |
因為我寫網頁都是用Fx檢視結果的 所以Fx沒問題我就當成寫好了 結果交出去的東西被回報說不能用... 查了半天才發現他用IE所以不能動作 問題出在下面這一段 if(!ereg("$verifyPage",$_SERVER['HTTP_REFERER'])) { echo '<script>location.href="../login"</script>'; } 效果很簡單 如果你不是由$verifyPage連結過來的,就直接跳回../login下 Firefox成功進行我所需要的動作 IE卻回傳回錯誤 Notice: Undefined index: HTTP_REFERER HTTP_REFERER未定義...那為什麼Firefox接的到? 請問一下IE需要改變成什麼樣的寫法? 麻煩各位了 -- 找到問題了 IE並不將location.href屬性的更改視為一次點擊鏈接的過程。 我從$verifyPage跳到main page是利用 <script>location.href="../mainpage"</script> 所以IE沒有HTTP_REFERER參數 <meta http-equiv="refresh" content="1; url=../minpage"> 也不行 請問一下還有什麼方法可以自動換頁面的嗎? |
發表人: | roytam1 [ 2006-08-18, 14:20 ] |
文章主題 : | |
把 代碼: if(!ereg("$verifyPage",$_SERVER['HTTP_REFERER'])) 改為 代碼: if(isset($_SERVER['HTTP_REFERER']) && !ereg("$verifyPage",$_SERVER['HTTP_REFERER'])) 而認證頁面($verifyPage)改用 代碼: header('Location: thispage.php'); //thispage.php是你要跳轉到的php檔案的名稱
這樣就會有Referer的了。 |
發表人: | cmi [ 2006-08-18, 15:47 ] |
文章主題 : | |
roytam1 寫: 把 而認證頁面($verifyPage)改用 代碼: header('Location: thispage.php'); //thispage.php是你要跳轉到的php檔案的名稱 這樣就會有Referer的了。 謝謝您的回覆 不過header()我還是不太會用 代碼: echo '<script>header("Location: ../mainpage/index.php");</script>'; 這樣寫沒有動作.. 目前我的解法是 弄出一個臨時的表單,然後在讀取時自動送出 這樣不管Fx或是IE都會有Referer了 代碼: echo '<body onLoad=document.theForm.submit()><FORM name="theForm" action="../mainpage/index.php"></FORM>';
缺點就是有點長...... |
發表人: | roytam1 [ 2006-08-18, 19:27 ] |
文章主題 : | |
cmi 寫: roytam1 寫: 把 而認證頁面($verifyPage)改用 代碼: header('Location: thispage.php'); //thispage.php是你要跳轉到的php檔案的名稱 這樣就會有Referer的了。 謝謝您的回覆 不過header()我還是不太會用 代碼: echo '<script>header("Location: ../mainpage/index.php");</script>'; 這樣寫沒有動作.. 目前我的解法是 弄出一個臨時的表單,然後在讀取時自動送出 這樣不管Fx或是IE都會有Referer了 代碼: echo '<body onLoad=document.theForm.submit()><FORM name="theForm" action="../mainpage/index.php"></FORM>'; 缺點就是有點長...... |
第 1 頁 (共 1 頁) | 所有顯示的時間為 UTC + 8 小時 |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |