woff 發表於 2021-3-8 22:18:13

PHP利用header跳轉失效的解決方法

一、問題:

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程式設計有所幫助。
頁: [1]
查看完整版本: PHP利用header跳轉失效的解決方法