2012-10-18 61 views
0

在我正在處理的頁面上,它可以使用密碼保護,因此用戶必須先登錄才能看到內容。在他們登錄後,以下代碼被稱爲:當位置來自函數時,php header方法不起作用

//In one file 
function current_page_url() { 
    return 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']; 
} 

//In Another file 
generate_page_cookie(); 
header('Location: ', current_page_url()); 
exit; 

哪一個不起作用。然而,下列情況:

generate_page_cookie(); 
header('Location: ', 'http://example.com'); 
exit; 

這似乎很奇怪,使用在頭功能的字符串的作品,但頭功能中的一個函數調用不會。

我想這可能與訪問$ _SERVER變量有關,但我不確定。

+0

提示:您的函數中缺少協議,端口和查詢字符串。你也應該在標題調用之前使用它來驗證輸入。 – hakre

+0

我在哪裏使用這段代碼,我不需要端口和查詢字符串。該協議將始終是'''http'''。 ''''current_page_url'''函數尚未完成。 – Tomgrohl

+0

我剛剛添加它作爲評論,因爲從字面上看,你可能期望在這裏找到一個完整的功能。請注意。 – hakre

回答

2

將您的,更改爲.,php使用.來連接字符串。

header('Location: ' . current_page_url()); 
+0

哈,我檢查了每個酒吧的錯字。謝謝! – Tomgrohl

相關問題