tibin mathew
tibin mathew

Reputation: 2084

php script redirecting code problem

i'm using a php script for redirection after detecting the search word to my websiter from the search engines .

and my redirection code is working fine

but for some keywods i wat to stay in the same page. for that lines of code i'm getting a warning message in that pages.

Warning:  headers already sent 
          (output started at /home/friendsj/public_html/index.php:2) in
          /home/friendsj/public_html/index.php on line 20

below is the code i used in that pages

$ref=$_SERVER['HTTP_REFERER'];

if(strstr($ref,"test")){ 
  $url="http://www.howtomark.com/robgoyette.html";
}
else if(strstr($ref,"mu+word+gmail")){
    $url="http://www.howtomark.com/marketbetter.html";
}
else{
  if(strstr($ref,"how+to+market+better")){
  }    
}

if($url !=""){
  header("Location:$url");
}

Upvotes: 1

Views: 174

Answers (4)

sonill
sonill

Reputation: 568

Try this

<?php ob_start();
$ref='some text goes here';

if(strstr($ref,"test")){ 
  $url="http://www.howtomark.com/robgoyette.html";
}
else if(strstr($ref,"mu+word+gmail")){
    $url="http://www.howtomark.com/marketbetter.html";
}
else{
  if(strstr($ref,"how+to+market+better")){
  }    
}

if(isset($url) && !empty($url)) {
  header("location:$url");
}
ob_flush();
?>

Upvotes: 0

coding Bott
coding Bott

Reputation: 4357

If you are using the Header function you are not allowed to output something before that function is called.

In you case you wrote in line 2 on index.php something to output.

A bad workaround is to use the output cache functions ob_start. but this is not a real solution.

Upvotes: 0

&#193;lvaro Gonz&#225;lez
&#193;lvaro Gonz&#225;lez

Reputation: 146410

Redirections are accomplished by setting an HTTP header, as the use of the header() function suggests. That means that you can only redirect before you start the document output. Whatever you start printing on line 2, do it later ;-)

Upvotes: 1

zerkms
zerkms

Reputation: 254916

remove any output started at the 2nd line at index.php

Upvotes: 0

Related Questions