Mensagem comum

07/06/2014

0

PHP

estou tentando apresentar uma mensagem de login incorreto, estou fazendo apenas com o echo, mas não está aparecendo.

o que se deve fazer?
Marcio Araujo

Marcio Araujo

Responder

Posts

07/06/2014

Andrew Angelim

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
Responder

07/06/2014

Andrew Angelim

Se for possível pode postar o código??
Responder

07/06/2014

Marcio Araujo

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".
Responder

08/06/2014

Andrew Angelim

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.
Responder

08/06/2014

Marcio Araujo

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:


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'); 	
 } ?>

Responder

08/06/2014

Andrew Angelim

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
Responder

09/06/2014

Marcio Araujo

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>  
 } ?>

Responder

10/06/2014

Andrew Angelim

eu nunca usei dessa forma, mas creio que funcione também..

Tenta ai, qualquer coisa me diz qual o resultado....


vlw
Responder

11/06/2014

Marcio Araujo

irei testar aqui, retornarei para avisar!!!
obrigado.
Responder

11/06/2014

Marcio Araujo

Andrew, fiz da seguinte forma


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?
Responder

12/06/2014

Andrew Angelim

Esse sistema de login e senha, o arquivo dele, encontra - se no mesmo local da index.php?
Responder

13/06/2014

Marcio Araujo

sim, no mesmo diretorio.
Responder

13/06/2014

Andrew Angelim

Tente deixar somente:

 echo "<script>alert('Usuario/Senha incorretos ou inexistente')</script>"; 


Tire o unset e o header.
Responder

13/06/2014

Marcio Araujo

irei tentar dessa forma, obrigado.
amanha irei avisar.
Responder

14/06/2014

Marcio Araujo

a principio, deu certo, porem, depois da mensagem(Ok), ele passa para a pagina que não é o index.
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar