一、問題:
header("Location: $url"),以往跳轉總是可以的,今天卻不動,只是輸出結果,以往自己要確認檢查,$url的值獲取的是否正確,所以在前面加了echo $url;來除錯用,結果就導致了header函式的無效.
二、解決方法:
在PHP中用header("location:test.php")進行跳轉要注意以下幾點:
1、location和“:”號間不能有空格,否則會出錯.//downcc.com
2、在用header前不能有任何的輸出,包括include的頁面中標籤“?>”後不能有空格.
3、header後的PHP程式碼還會被執行.
PHP的 header 跳轉之前不能有任何內容輸出,因為PHP開始執行的時候就已經向瀏覽器送出HTTP頭資訊,之後就不再允許更改了.
但是如果必須要在輸出之後再處理header資訊的話可以使用 ob_start() ob_end_flush() 來快取一下要傳送的內容,等到header繼續再發送內容.
或者一個更簡單的辦法,修改php.ini,找到 output_buffering=Off 修改為 output_buffering=4096.
希望本文所述對大家的PHP程式設計有所幫助。
|