Warning: Cannot modify header information – headers already sent by…

Ok so today i was doing some PHP coding and get the dreaded header error caused me a bit of a headache as i needed to redirect some pages. After a bit of searching i managed to find an alternative to using:

PHP
1
header(location:"index.php");

So to get rid of the error that this produces simply change it to any of the below:

PHP
1
2
3
4
5
6
7
ob_start();
//script
header("Location:file.php");
ob_end_flush();

OR

PHP
1
2
3
4
5
6
7
8
9
10
if ($success)
{
echo '<META HTTP-EQUIV="Refresh" Content="0; URL=success.php">';
exit;
}
else
{
echo '<META HTTP-EQUIV="Refresh" Content="0; URL=retry.php">';
exit;
}

OR

PHP
1
printf("<script>location.href='errorpage.html'</script>");

i used the last option as i found this worked best compared to the others with my program however they may all work well for your application