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>