一、問題:
今天header(location: $url),以往跳轉總是可以的,今天卻不動,只是輸出結果,以往自己要確認檢查,$url的值獲取的是否正確,所以在前面加了echo $url;來調(diào)試用,結果就導致了header函數(shù)的無效.
二、解決方法:
在php中用header(location:test.php)進行跳轉要注意以下幾點:
1、location和“:”號間不能有空格,否則會出錯.//downcc.com
2、在用header前不能有任何的輸出,包括include的頁面中標簽“?>”后不能有空格.
3、header后的php代碼還會被執(zhí)行.
php的 header 跳轉之前不能有任何內(nèi)容輸出,因為php開始執(zhí)行的時候就已經(jīng)向瀏覽器送出http頭信息,之后就不再允許更改了.
但是如果必須要在輸出之后再處理header信息的話可以使用 ob_start() ob_end_flush() 來緩存一下要發(fā)送的內(nèi)容,等到header繼續(xù)再發(fā)送內(nèi)容.
或者一個更簡單的辦法,修改php.ini,找到 output_buffering=off 修改為 output_buffering=4096.
希望本文所述對大家的php程序設計有所幫助。
更多信息請查看IT技術專欄