Possible Duplicate:
Headers already sent by PHP
I am getting this error when I try to redirect after running a user login script.
It attempts to change the header data at this line:
header("Refresh: 2; url=index.php");
This is the full login.php script.
<?php 
session_start();
require_once('init.php');
$username = trim($_POST['username']);
// create a new object
$login = new Auth($_POST, $dbh);
    if($login->validateLogin()){
        $_SESSION['loggedin'] = true;
        $_SESSION['username'] = $username;
        $list = $login->getUserInfo();
        $_SESSION['id'] = $list['id'];
        $_SESSION['thumb'] = $list['img_thumb'];
        echo '<div class="content">';
        echo '<h1>Thank you for logging in '.$username.'. Redirecting...</h1>';
        echo '</div>';
        header("Refresh: 2; url=index.php");
    }else{
        echo '<div class="content">';
        echo '<h1>Sorry but we didn\'t recognise those login details, please try again.</h1>';
        echo '</div>';
    }
require_once('inc/footer.inc.php');
?>
The init.php file calls the header.php containing the html5 doctype, meta tags etc.
How can I redirect the user to the index page after logging them in and send the header information as usual?
 
     
     
     
    