下面的代碼顯示我「111
」和「222
」。但不會將我重定向到任何地方。我現在能做什麼?重定向和標題不起作用
<?php
echo "111";
header("Location: http://www.google.com");
echo "222";
return Redirect::to('http://www.google.com');
echo "333";
?>
下面的代碼顯示我「111
」和「222
」。但不會將我重定向到任何地方。我現在能做什麼?重定向和標題不起作用
<?php
echo "111";
header("Location: http://www.google.com");
echo "222";
return Redirect::to('http://www.google.com');
echo "333";
?>
你不能有標題標籤設置之前任何輸出,所以頭後刪除echo語句,並退出腳本:
header("Location: http://www.google.com");
exit;
謝謝,但仍然沒有任何反應 – divHelper11
你發佈腳本的完整腳本? – Ashley
兩件事情......
你需要把你的exit
頭之後( 「位置:...」) 例子:
header("Location: http://www.google.com");
exit;
但更重要的是,如果您已使用echo
寫入輸出緩衝區,您的標題將不會重定向。
謝謝,但仍然沒有任何反應 – divHelper11
請注意,在使用header()之前,您不能有任何輸出。所以沒有回聲,var_dump,沒有或任何以上的PHP標記,沒有包括標題,什麼都沒有。 – Ivar
這不起作用,因爲您已經將數據發送到客戶端(echo
)。要麼把你的頭,你什麼呼應前,或緩衝這樣的:
ob_start();
echo "111"; //Note: You're missing a semicolon here
header("Location: http://www.google.com");
echo "222";
$obj = Redirect::to('http://www.google.com');
echo "333";
ob_flush();
return $obj;
To Continue Reading... 希望這有助於!
return語句將跳出這一點,ob_flush()將永遠不會到達 – bashaus
http://stackoverflow.com/questions/8028957/how-to-fix-headers-already-sent-error-in-php檢查此鏈接 –
可能重複[如何解決「頭已發送」錯誤PHP](http://stackoverflow.com/questions/8028957/how-to-fix-headers-already-sent-error-in-php) – Epodax
使用ob_start();在你的代碼的開頭 – 2015-11-02 14:17:19