Ir para conteúdo
Fórum Script Brasil
  • 0

Apagar variável de sessão em link html


thiago_27

Pergunta

Prezados amigos,

Bom dia.

Estou criando um site e o mesmo quando solicito o cadastramento de alguma coisa envio os dados para uma DAO qualquer processar essas informações e retornar uma mensagem informando se deu certo ou não, quando algo estava errado mandava para tela uma mensagem em JS porem não gosto disso então resolvi criar uma variável de sessão e atribuir TRUE ou FALSE.

if (isset($_GET['acao']) && $_GET['acao'] ==add")

{

$setor = ucwords($_POST['nome]);

$tp_ingresso = $_POST['ing'];

if(empty($setor) || empty($tp_ingresso))

{

$_SESSION['erro'] = true;

header("Refresh: 0.3, cadastro_usuario.php");

}

else

{

$consulta = "insert into setores(se_descricao,se_tp_ingresso) values('".$setor."','".$tp_ingresso."')";

mysql_query($consulta) or die (mysql_error());

mysql_close();//fecha conexão

echo "<script type=text/javascript'>alert('Setor cadastrado com Sucesso.');</script>";

header("Refresh: 0.3, ../index.php?id=$codMenu");

}

}

como podem ver se algum campo do formulário estiver vazio atribuo o valor TRUE a variável de sessão e redireciono para pagina de cadastro novamente.

na pagina de cadastro verifico se a variável esta setada com o valor TRUE e exibo uma mensagem de erro.

<?php echo(isset($_SESSION['erro]))? "Informe todos os dados do setor para cadastro." : ""; ?>

o problema vem agora

quando a sessão erro é igual a true ela exibe a msg correta na tela só que:

no meu site tenho 5 link's

link 1, link 2,link 3,link 4,link 5

eu gostaria de quando clicar no link2 por exemplo ele apaga-se o valor dessa sessão para quando eu voltar para o link 1 a msg não estivesse mais sendo mostrada na tela

já tentei fazer isso

<li class="active"><a href="index.php" onclick="<?php unset($_SESSION['erro']); ?>">inicio</a></li>

só que quando carrego a pagina a sessão já vem apagada independente de eu ter clicado no link.

alguém pode me ajudar.

desde já obrigado a todos.

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0

Thiago,

Quando postar código, clique no botão Inserir Code.

Para conseguir encerrar uma sessão, primeiro utilize session_start();

Like that:

<li class="active"><a href="index.php" onclick="<?php session_start(); unset($_SESSION['erro']); ?>">inicio</a></li>

Link para o comentário
Compartilhar em outros sites

  • 0

Se você utiliza a página index.php como router para todos os links.. ou seja, quando o link2 é pressionado ele é direcionada para index.php

Para você não modificar a estrutura do script, faça o seguinte.

Identifique qual link foi clicado e faça as ações corresponde ao link;

Exemplo

index.php

<?php 
session_start(); 

$link = $_GET['link'];

switch($link) {
      case : 1
            {...}
            break;
      case : 2
            unset($_SESSION['erro']);
            break;
       default:
           break;
}
?>
Link
<li class="active"><a href="index.php?link=2">inicio</a></li>

Editado por Romero Dias
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...