2013-03-19 82 views
0

我有一個網頁,具有以下代碼;無法修改標題信息,標題已發送

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html lang="en"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8"> 
<title>Search results</title> 
<?php 
include_once('filename.php'); 
$info = ptb_connect('filename.csv','F'); 
$locations = ptb_listUnique($info, 'Property_Location'); 
$property_type = ptb_listUnique($info, 'Property_Type'); 
$property_buy_rent = ptb_listUnique($info, 'Buy_Rent'); 

if(empty($_GET['location']) && empty($_GET['type']) && empty($_GET['buyrent']) && empty($_GET["min_val"]) && empty($_GET["room_no_min"])){ 
header("Location:propertysearch.php"); exit; 
} 

但是,當我去的網頁,而不是重定向到propertysearch.php我得到的消息「警告:不能更改頭信息 - 頭已經發出(輸出開始N:\ WWW \測試\結果。 php:7)在第15行的N:\ www \ test \ results.php中,這是開頭的行(「Location ..

我嘗試了很多事情來嘗試解決這個問題,包括消除空白,使用ob_start()等,但無法弄清楚。

非常感謝所有幫助。

回答

1

我設法解決這個問題,它是Byte Order Mark問題,我將字符集從UTF-8更改爲ISO西歐,並解決了這個問題。

3

我希望這個答案可以幫助你:

要使用任何輸出已經開始在頁面上之前使用它有一個頭。換句話說,它必須在印刷包括docytype在內的任何東西之前。

使用的語法很簡單地在文件打開PHP的最頂端,然後再鍵入ob_start()這個原來輸出緩衝:

<?php ob_start(); ?> 

現在,您就可以在網頁中的任何地方調用頭功能。爲了讓這個不被你的文件的最底部使用鍵入使用ob_flush()內的PHP刷新緩衝區一定要明確資源:

<?php ob_flush(); ?> 

時,我遇到了一些問題,這爲我工作!希望這也能幫到你..

相關問題