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>';

缺點就是有點長......
header() 是php的函數呢...

1 頁 (共 1 頁) 所有顯示的時間為 UTC + 8 小時
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/