我的文件中的PHP头问题

时间:2014-02-01 20:51:22

标签: php

我在其中一个文件中报告了此问题;

  

警告:无法修改标题信息 - 已在第40行的/home/*/public_html/addengine/parseclick.php中发送的标题(由/home/*/public_html/addengine/parseclick.php:1开始输出)< / p>

这是实际文件的代码;

<?php
 include_once("../admin/database.php");


 $today = date("Y-m-d");

 $data = str_replace(' ', '+', $_GET['data']);
 $de_data = decrypt($data,$ad_passcode='',$salt='');


 $arr_data = explode(":",$de_data);

 /*
 Array: arr_data
 arr_data[0] =  pub_ad_id
 arr_data[1] =  adv_ad_id
 arr_data[2] =  compaign_id
 */

 $pid = $arr_data[0];
 $aid = $arr_data[1];
 $cid = $arr_data[2];

 /*$billing = getvalue("billing_type","compains",$cid);
 if($billing == 'cpc' || $billing == 'both')
 {
countClick($aid,"adds",$pid);
countClick($pid,"pub_adds",$pid);
 }*/

 $adv_ad_id = $aid;
 $pub_ad_id =$pid;
 countClick($adv_ad_id,$pub_ad_id);

 $parenturl =  $_SERVER["HTTP_REFERER"]; 

 if( verifyLegitimateurl($parenturl,$pid) == 'Passed' &&          emailAlreadyExists($_SERVER['REMOTE_ADDR'],"banips","cip") == false)
 {
$url  = getvalue("url","adds",$aid);
header("Location: ".$url);  
    }

    ?>

3 个答案:

答案 0 :(得分:0)

错误是因为这一行:

header("Location: ".$url); 

如果您已开始写入该页面,则无法重定向。

所以如果你有这样的东西

<!Doctype html>
<?php
header("Location: ".$url); 
?>

你会得到那个错误,你必须确保你没有任何HTML上面的HTML,或者你不回应任何东西。

因此,如果您将PHP置于最顶层,则不会收到错误:

<?php
header("Location: ".$url); 
?>
<!Doctype html>

答案 1 :(得分:-1)

而不是

header("Location: ".$url);

使用

<META http-equiv="refresh" content="0;URL=<?php echo $url;?>">

显然你应该在这个html代码之前关闭php标签,并在此代码之后再次启动它

答案 2 :(得分:-2)

在文件开头ob_start();之后使用<?,并在ob_flush();之前将?>放在文件末尾。