Mensagem comum
estou tentando apresentar uma mensagem de login incorreto, estou fazendo apenas com o echo, mas não está aparecendo.
o que se deve fazer?
o que se deve fazer?
Marcio Araujo
Curtidas 0
Respostas
Andrew Angelim
07/06/2014
Olá Marcio..
Poderia ser mais específico na pergunta?
Essa mensagem de erro deve aparecer quando o usuário informar os dados incorretos?
É isso?
vlw
Poderia ser mais específico na pergunta?
Essa mensagem de erro deve aparecer quando o usuário informar os dados incorretos?
É isso?
vlw
GOSTEI 0
Andrew Angelim
07/06/2014
Se for possível pode postar o código??
GOSTEI 0
Marcio Araujo
07/06/2014
Andrew, valeu pelo interesse, eu acompanhei um artigo da devmedia, sobre como inserir uma tela de login em um pequeno projeto, até ai tudo bem, consegui montar.
ex: tenho um usuario cadastrado e me logo com ele sem problemas, mas quando coloco um usuario inexistente(de proposito) ele apenas fica na de login sem apresentar nada, nenhuma mensagem, eu queria apenas mostrar uma mensagem. "usuario/senha incorretos ou inexistente".
ex: tenho um usuario cadastrado e me logo com ele sem problemas, mas quando coloco um usuario inexistente(de proposito) ele apenas fica na de login sem apresentar nada, nenhuma mensagem, eu queria apenas mostrar uma mensagem. "usuario/senha incorretos ou inexistente".
GOSTEI 0
Andrew Angelim
07/06/2014
if (isset($_POST['acessar'])) { $usuarios = htmlentities($_POST['usuario'], ENT_QUOTES); $senhas = htmlentities($_POST['senha'], ENT_QUOTES); include_once("../conexao/conexao.php"); $sql = "SELECT * FROM tabela WHERE usuario = '$usuarios' AND senha = '$senhas'"; $result = mysql_query($sql) or die(mysql_error()); if (mysql_num_rows($result) == 1) { session_start(); $_SESSION['usuario'] = $usuarios; $_SESSION['senha'] = $senhas; header('Location: proxima.php'); } else { echo "<script>alert('Dados incorretos. Tente novamente!')</script>"; } }
Acho que com esse código da pra você se baseia...
O usuário digita login e senha normalmente, ao clicar no botão de submit, nesse momento é feito um select no banco de dados para verificar se o usuário existe ou não..se existe
então a linha da função mysql_num_rows é verdade, ele executa a SESSION e passa para próxima pagina pelo header(Location: proxima.php), se não existir, ele da o alert na tela (Dados incorretos.Tente novamente), esse alerta fica a seu critério de como a escrita deve aparecer.
GOSTEI 0
Marcio Araujo
07/06/2014
Obrigado.
estava usando esse codigo, fiz uma modificação chamando para outro arquivo php, mas acho que não é a forma correta de apresentar a mensagem:
estava usando esse codigo, fiz uma modificação chamando para outro arquivo php, mas acho que não é a forma correta de apresentar a mensagem:
if(mysql_num_rows ($result) > 0 ) { $_SESSION['login'] = $login; $_SESSION['senha'] = $senha; header('location:admin/cadastrar.php'); } else{ unset ($_SESSION['login']); unset ($_SESSION['senha']); header('location:error.php'); } ?>
GOSTEI 0
Andrew Angelim
07/06/2014
Não precisa você chamar outra página para exibir a mensagem de erro,
Basta usar o <script>alert('Mensagem')</script> que atende muito bem, pelo menos pra mim..
vlw
Basta usar o <script>alert('Mensagem')</script> que atende muito bem, pelo menos pra mim..
vlw
GOSTEI 0
Marcio Araujo
07/06/2014
então faço assim?
if(mysql_num_rows ($result) > 0 ) { $_SESSION['login'] = $login; $_SESSION['senha'] = $senha; header('location:admin/cadastrar.php'); } else{ unset ($_SESSION['login']); unset ($_SESSION['senha']); <script>alert('Mensagem')</script> } ?>
GOSTEI 0
Andrew Angelim
07/06/2014
eu nunca usei dessa forma, mas creio que funcione também..
Tenta ai, qualquer coisa me diz qual o resultado....
vlw
Tenta ai, qualquer coisa me diz qual o resultado....
vlw
GOSTEI 0
Marcio Araujo
07/06/2014
irei testar aqui, retornarei para avisar!!!
obrigado.
obrigado.
GOSTEI 0
Marcio Araujo
07/06/2014
Andrew, fiz da seguinte forma
o problema é que não está apresentando a mensagem, quando eu tiro o
aparece a mensagem, mas o problema é que em seguida é transferido para uma outra pagina. como faço para
aparecer a mensagem e ficar no index.php?
if(mysql_num_rows ($result) > 0 ) { $_SESSION['login'] = $login; $_SESSION['senha'] = $senha; header('location:admin/cadastrar.php'); } else{ unset ($_SESSION['login']); unset ($_SESSION['senha']); echo "<script>alert('Usuario/Senha incorretos ou inexistente')</script>"; header('location:index.php'); } ?>
o problema é que não está apresentando a mensagem, quando eu tiro o
header('location:index.php');
aparece a mensagem, mas o problema é que em seguida é transferido para uma outra pagina. como faço para
aparecer a mensagem e ficar no index.php?
GOSTEI 0
Andrew Angelim
07/06/2014
Esse sistema de login e senha, o arquivo dele, encontra - se no mesmo local da index.php?
GOSTEI 0
Marcio Araujo
07/06/2014
sim, no mesmo diretorio.
GOSTEI 0
Andrew Angelim
07/06/2014
Tente deixar somente:
Tire o unset e o header.
echo "<script>alert('Usuario/Senha incorretos ou inexistente')</script>";
Tire o unset e o header.
GOSTEI 0
Marcio Araujo
07/06/2014
irei tentar dessa forma, obrigado.
amanha irei avisar.
amanha irei avisar.
GOSTEI 0
Marcio Araujo
07/06/2014
a principio, deu certo, porem, depois da mensagem(Ok), ele passa para a pagina que não é o index.
GOSTEI 0
Andrew Angelim
07/06/2014
Marcio me parece que você não iniciou a função Session_start();
se for isso mesmo, inicie a sessão. Veja meu exemplo lá em cima.
Se continuar o erro, post seu código completo se puder..
Abraço
se for isso mesmo, inicie a sessão. Veja meu exemplo lá em cima.
Se continuar o erro, post seu código completo se puder..
Abraço
GOSTEI 0
Marcio Araujo
07/06/2014
tem que colocar assim:
<?php session_start(); if((!isset ($_SESSION['login']) == true) and (!isset ($_SESSION['senha']) == true)) { unset($_SESSION['login']); unset($_SESSION['senha']); header('location:index.php'); } $logado = $_SESSION['login']; ?>
GOSTEI 0
Andrew Angelim
07/06/2014
Sim, é dessa forma mesmo...
GOSTEI 0
Marcio Araujo
07/06/2014
pera aew, esse codigo ja está ok. quero dizer, ja estava. fiquei sem entender, desculpa.
GOSTEI 0