Problema ao desativar uma variável de sessão

Há um formulário no meu site que é usado para convidar amigos. É um campo de texto simples e um botão de envio. Se houver um erro, eu redireciono de volta para esta página e mostrarei uma mensagem de erro se a variável de sessão for definida.

<code>if (isset($_SESSION['invite_error'])) {
   echo $_SESSION['invite_error'];
   unset($_SESSION['invite_error']);
}
</code>

No entanto, se eu sair dessa página e voltar a ela, a mensagem de erro ainda estará sendo exibida. Se eu sair e voltar mais uma vez, isso será feito. É o mesmo quando eu atualizo essa página ... 1 atualização não vai se livrar dele, mas 2 vai. Eu não posso destruir a sessão inteira, eu só quero desconfigurar essa variável. A versão do PHP é 5.2.5 build 6, register globals está desativado, estou chamando session_start () no topo desta página, tentei usar um cabeçalho no-cache também.

Editar: código completo adicionado.

<code><?php 
ob_start();
session_start();

$user_id = $_SESSION['user_id'];
$user_name = $_SESSION['user_name'];

if ($user_id==null) header("Location: /login.php");

if (isset($_SESSION['invite_errors'])) {

    $error = $_SESSION['invite_errors'];
    unset($_SESSION['invite_errors']);

}

require_once("ui/header.php");
?>



<div id="invite" class="content">

    <?php if($error) { ?>
        <div class="errors round">
            <?php echo $error ?>
        </div>
    <?php } ?>

    <h3>Invite Your Friends</h3>

    <div class="invite-form">
        <form method="post" action="controllers/invite.php">
            <div class="row">
                <textarea class="txt-area" name="emails" id="emails" rows="5"></textarea>
                <div class="tip">Separate multiple email addresses with ,</div>
            </div>
            <div class="row-submit">
                <input type="submit" name="submit" id="submit" class="submit-btn" value="Submit" />
            </div>
        </form>
    </div>

</div>

<?php
    require_once("ui/footer.php");
?>
</code>

questionAnswers(4)

yourAnswerToTheQuestion