2014-04-04 98 views
0

我在Logout.php頁面上使用header('Location: ' . $_SERVER['HTTP_REFERER']);,它在那裏工作正常。但是當我在登錄頁面上使用它時,它給了我錯誤「The page沒有正確地重定向PHP「,」Firefox已經檢測到服務器正以一種永遠不會完成的方式重定向這個地址的請求。「 我的代碼是:

if($resT==3){ 
    $_SESSION['userId'] = $_POST["user"]; 
    header('Location: '.$_SERVER['HTTP_REFERER']); 
} 

$resT是我從數據庫中根據用戶獲取用戶類型。

+1

您試過在'header()'後面添加'exit'嗎? –

+2

依靠'$ _SERVER ['HTTP_REFERER']'不是一個好習慣。 –

+1

'HTTP_REFERER'是臭名昭着的不可靠的。除非你確定它包含你所需要的東西,否則你不能使用它。 –

回答

0

HTTP_REFERER由客戶端設置,因此不保證可用。所以,它不能用於記錄以外的任何目的。

在會話中存儲初始位置或通過表單參數傳遞它。

+0

我真的想將用戶重定向到它來自的上一頁。 –

0

嗨最好將您的背頁設置爲會話並將用戶重定向到該頁面。 Like $ _SESSION ['backfromlogin'] = $ currentpage;比使用此會話變量重定向回來。 你的問題是,引用者重定向到登錄頁面本身。你可以迴應引用來確保。

2

當您在頁面上有循環時,通常會出現此錯誤,這意味着您在不會停止的循環中重定向。頁面中存在一些邏輯錯誤。

HTTP_REFERER會將您重定向到的基地址e.g http://localhost/

因此,請檢查你在哪裏丟的用戶的頁面重定向你。

相關問題