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
Pergunta
thiago_27
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
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.