2011-10-16 60 views
-4

可能重複:
PHP error: Cannot modify header information – headers already sent不能更改頭信息 - 頭已經...錯誤發送

你好我得到這個錯誤,即使你我使用完全相同的同一個文件其他項目,它工作正常。這個項目是在FB新API實施後設置的,9月底之後的所有更改都會造成這個問題?

我的文件:

<?php echo '<?xml version="1.0" encoding="UTF-8"?>'."\n"; ?> 
<users xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 
<?php 
header("Cache-Control: no-cache, must-revalidate"); 
header("Expires: Thu, 1 Jan 1970 00:00:00 GMT"); 
include_once 'config.php'; 
$con = mysql_connect($db_ip,$db_user,$db_pass); 
. 
. 
. 
. 
while ($row = mysql_fetch_assoc($result)) { 
?> 
    <id> 
    <image>http://mywebsite/root/xxx-game-fb/proxy.php?url=<?php echo urlencode("http://graph.facebook.com/".$row['fbid']."/picture?type=square"); ?></image> 
    <place><?php echo $position; ?></place> 
    <name><?php echo $row['name']; ?></name> 
    <score><?php echo $row['score']; ?></score> 
</id> 
<?php 
$position++; 
} 
?> 
</users> 

我用這個作爲輸入閃爍AS3遊戲。它與用戶創建一個表並按順序設置它們。 Flash在引發這個xml文件的函數中也拋出一個錯誤。 有沒有人知道這裏可能是一個問題? 請幫忙。

回答

5

沒有閱讀有關header的文檔,在調用該方法之前沒有信息可輸出,呵呵?

記住,報頭()必須調用發送任何實際輸出之前,無論是由正常的HTML標記,空行在文件中,或從PHP

要麼使用報頭的第一,或如果無法避免,請使用某種形式的輸出緩衝。


你的第一個5行的文件應該成爲:

<?php 
    header("Cache-Control: no-cache, must-revalidate"); 
    header("Expires: Thu, 1 Jan 1970 00:00:00 GMT"); 
    echo '<?xml version="1.0" encoding="UTF-8"?>'."\n"; 
?> 
<users xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 

注意header()什麼是回顯之前,現在被稱爲/輸出。

+0

感謝布萊德爲你回答,我嘗試過,沒有成功 – ELO

+0

@LukaszSzczepanski:你有'header'調用其他地方也是干擾。 –

相關問題