如何在發送標題後跳轉到其他頁面?如何在發送標題後跳轉到其他頁面?
我已經在我的模板文件所著的一些代碼,我想用PHP來跳轉到其他頁面時,一些條件是真實的,但我不能在這裏使用頭命令,標題信息已經在其他PHP文件發送在這個模板文件之前。那我現在怎麼跳到其他網址呢?只有使用js的方式?
Warning: Cannot modify header information - headers already sent by ...
如何在發送標題後跳轉到其他頁面?如何在發送標題後跳轉到其他頁面?
我已經在我的模板文件所著的一些代碼,我想用PHP來跳轉到其他頁面時,一些條件是真實的,但我不能在這裏使用頭命令,標題信息已經在其他PHP文件發送在這個模板文件之前。那我現在怎麼跳到其他網址呢?只有使用js的方式?
Warning: Cannot modify header information - headers already sent by ...
使用輸出緩衝和標題清除來實現此目的。
ob_start()
...
if (!headers_sent()) {
foreach (headers_list() as $header)
header_remove($header);
}
ob_flush_end()
未經測試,但給它一個鏡頭。
你有兩個選擇。
A /使用JavaScript
window.location = "http://www.yoururl.com";
B /使用元
<META http-equiv="refresh" content="5;URL=http://www.yourlink.com/new-link">
解決方案
從CP510 anaswer是好的。另一種方法是使用JavaScript重定向頁面。要引用Ryan McGeary answer,您可以執行以下任一操作:
// similar behavior as an HTTP redirect
window.location.replace("http://stackoverflow.com");
or
// similar behavior as clicking on a link
window.location.href = "http://stackoverflow.com";
重寫代碼,以便在發送標頭之前評估條件*。這是更乾淨的PHP。 –
確保至少接受一個答案,如果它適合你。 – CP510