我用這個功能來重定向從一個PHP頁面到另一個:PHP頭功能不能正常工作
header('Location: student.php?cnp='.$_REQUEST['name']) ;
在我的本地主機它的工作,但如果在網上測試它,它不會重定向。 我也試圖給出完整的路徑(如http://.../student.php?...
),但它仍然不起作用。有誰知道爲什麼,我該怎麼辦?
我用這個功能來重定向從一個PHP頁面到另一個:PHP頭功能不能正常工作
header('Location: student.php?cnp='.$_REQUEST['name']) ;
在我的本地主機它的工作,但如果在網上測試它,它不會重定向。 我也試圖給出完整的路徑(如http://.../student.php?...
),但它仍然不起作用。有誰知道爲什麼,我該怎麼辦?
試試這個:
header('Location: http://www.example.com/someurl.php', true);
第二個參數將取代以前的位置標頭(如果有的話)。
還要檢查你所收到的HTTP響應代碼(應該是30X)
如果沒有什麼幫助,你可以隨時通過JavaScript重定向:
echo "<script>window.top.location='http://www.example.com/someurl.php'</script>"
這不是那麼專業,但有效,即使頭有已經發送。
我嘗試這個解決方案,它沒有工作
header('Location: http://www.example.com/someurl.php', true);
所以我建議人們去與這兩種可能如下解決方案,爲我工作。
使用JS
:
echo "<script>window.top.location='http://www.example.com/someurl.php'</script>"
使用META
:
echo '<META HTTP-EQUIV="Refresh" Content="0; URL=http://www.example.com/someurl.php">';
這兩個都爲我工作。但由於某種原因標題的東西不工作在網絡上,但工作在本地非常好。我將使用元解決方案。
您的header()
不工作,因爲頭已經發送到瀏覽器。 在頁面的開頭使用ob_start()
(甚至在DOCTYPE聲明之前)。而在年底,使用ob_end_flush()
<?php
ob_start();
//more code
header("Location:URL");
ob_end_flush();
?>
我只是有這個建議爲我工作了同樣的問題。將這個功能在你的代碼的頂部:
function move_to(){
header('Location: student.php?cnp='.$_REQUEST['name']);
}
,隨時隨地調用函數:順便說一下
move_to()
,我不爲它會邀功。我剛剛發現它在:Header function not working PHP
您是否收到任何錯誤消息?也許_「不能修改標題信息 - 標題已經發送...」_ ??? – rdlowrey 2012-01-02 17:49:27
不......它只是保持在同一頁上! – Madrugada 2012-01-02 17:52:36
錯誤報告?你確定該行被執行? – JJJ 2012-01-02 17:54:36