Ir para conteúdo
Klash1

Mensagem de usuário ou senha incorretas

Recommended Posts

Eae galera!

Estou fazendo uma página de login e estou com um pequeno problema. Gostaria de saber como mostrar a mensagem de Usuário ou senha incorreta, em baixo do formulário. No meu, está abrindo a página em branco e dando a mensagem de erro.

Quero que aparece a mensagem de erro, aqui:

 

err.png.3de1ab7dcce2c6308ec8db24412c2604.png

 

Porém, está aparecendo assim:

 

img.png.9d5cdd675d5e23781cc4bba4dbd456c6.png

 

Código index.php:

 

<!DOCTYPE html>
<head>
    <meta charset="utf-8">
    <title> Área Restrita - Hércules </title>
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
        <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
    <link href="bootstrap/css/style.css" rel="stylesheet">
    
</head>

<body background="bootstrap/img/bc.jpg" style="max-width: 100%; height: auto;" class="login">

<div class="login-page">
<div class="form">
  <form method="post" action="login.php">
  <img src="bootstrap/img/perfil.png" class="rounded" alt="Login"> 
    <input type="text" name="email" placeholder="Email" required></br>
       <input type="password" name="senha" placeholder="Senha" required></br>
    <button type="submit" class="btn btn-success btn-lg btn-block">Entrar</button>
  </form>
</div>
</div>
</body>
</html>

 

Código login.php

 

<?php

include("conexao.php");

if(isset($_POST['email']) && isset($_POST['senha'])){
    $email = $_POST['email'];
    $senha = $_POST['senha'];
    $teste = md5($senha);

    $get = mysql_query("SELECT * FROM usuarios WHERE email = '$email' AND senha = '$senha'");
    $num = mysql_num_rows($get);

    if($num == 1){
         while($percorrer = mysql_fetch_array($get)){
             $adm = $percorrer['adm'];
$nome = $percorrer['nome'];
session_cache_expire(10);
session_start();
             if($adm == 1){
                 $_SESSION['adm'] = $nome;
             } else{
                 $_SESSION['nor'] = $nome;
             }
             echo '<script type="text/javascript">window.location = "index.html"</script>';
         }
    }else{
        echo "Email ou senha incorreta";
    }
}

?>

 

Obrigado pela ajuda!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fala mestre,

 

Você precisa de alguma variável na sua index.php aí que irá receber essa mensagem de erro, no momento você tá só fazendo um post request e morre aí. Você pode usar session pra salvar o erro e mostrar na sua index, tente fazer dessa forma no seu código:

 

<?php session_start(); ?>

<!DOCTYPE html>
<head>
    <meta charset="utf-8">
    <title> Área Restrita - Hércules </title>
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
    <link href="bootstrap/css/style.css" rel="stylesheet">
    
</head>

<body background="bootstrap/img/bc.jpg" style="max-width: 100%; height: auto;" class="login">

<div class="login-page">
<div class="form">
  <form method="post" action="login.php">
  	<img src="bootstrap/img/perfil.png" class="rounded" alt="Login"> 
    <?php
	// verifica se a variavel session['invalido'] existe, se existir mostra o erro
    if(isset($_SESSION["invalido"])){
    	$dados_invalidos = $_SESSION["invalido"];
    	echo "<span>$dados_invalidos</span>";
    }
    ?>  
    <input type="text" name="email" placeholder="Email" required></br>
    <input type="password" name="senha" placeholder="Senha" required></br>
    <button type="submit" class="btn btn-success btn-lg btn-block">Entrar</button>
  </form>
</div>
</div>
</body>
</html>

<?php unset($_SESSION["invalido"]); ?>

 

<?php

session_start();

include("conexao.php");

if(isset($_POST['email']) && isset($_POST['senha'])){
    $email = $_POST['email'];
    $senha = $_POST['senha'];
    $teste = md5($senha);

    $get = mysql_query("SELECT * FROM usuarios WHERE email = '$email' AND senha = '$senha'");
    $num = mysql_num_rows($get);

    if($num == 1){
         while($percorrer = mysql_fetch_array($get)){
             $adm = $percorrer['adm'];
$nome = $percorrer['nome'];
session_cache_expire(10);
session_start();
             if($adm == 1){
                 $_SESSION['adm'] = $nome;
             } else{
                 $_SESSION['nor'] = $nome;
             }
             echo '<script type="text/javascript">window.location = "index.html"</script>';
         }
    }else{
        // echo "Email ou senha incorreta"; nessa linha você apenas mostrava os dados errados na mesma pagina login.php
      
      	// aqui voce manda pra session invalido o error que deu no request e redireciona pra index de login
      	$_SESSION["invalido"] = $error;
    	header("location: index.php");
    }
}

?>

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

  • Conteúdo Similar

    • Por MasterJ
      nao consigo encontrar o erro neste codigo

       
      <?php  if(isset($_POST['btnLogin'])){   $email = trim($_POST['user_email']);   $upass  = trim($_POST['user_pass']);   $h_upass = sha1($upass);       if ($email == '' OR $upass == '') {       message("Invalid Username and Password!", "error");       redirect("login.php");               } else {     //it creates a new objects of member     $user = new User();     //make use of the static function, and we passed to parameters     $res = $user::userAuthentication($email, $h_upass);     if ($res==true) {         message("You logon as ".$_SESSION['ROLE'].".","success");       if ($_SESSION['ROLE']=='Administrator' || $_SESSION['ROLE']=='Student'){         $_SESSION['ADMIN_USERID'] = $_SESSION['USERID'];         $_SESSION['ADMIN_FULLNAME'] = $_SESSION['FULLNAME'] ;         $_SESSION['ADMIN_USERNAME'] =$_SESSION['USERNAME'];         $_SESSION['ADMIN_ROLE'] = $_SESSION['ROLE'];         unset( $_SESSION['USERID'] );         unset( $_SESSION['FULLNAME'] );         unset( $_SESSION['USERNAME'] );         unset( $_SESSION['PASS'] );         unset( $_SESSION['ROLE'] );          redirect(WEB_ROOT."admin/index.php");       }      }else{       message("Account does not exist! Please contact Administrator.", "error");        redirect(WEB_ROOT."admin/login.php");      }  }  }   ?>   
    • Por JoaoVituBR
      Olá, eu tenho 2 servidores (Socket.io Redis) comunicando entre si, e gostaria de saber se tem como, e como posso fazer que salve a sessão para que o usuário quando conectar no outro servidor ele não precise fazer login novamente.

    • Por PeeWee
      Pessoal, estou precisando de um código que mantenha o usuário logado no sistema, pois o interessante é que assim que ele acessar o site nao precise logar outra vez. Estou utilizando esse código:   $_SESSION['log_me_out_at'] = strtotime(date("Ymd ")."23:59:59");
      aparentemente nao funciona quando subi para o servidor, alguem tem uma dica?
    • Por Keron
      Gente eu não estou conseguindo iniciar o session em php e realmente não consigo entender o motivo já tentei trocentas coisas que as pessoas sugeriram nos foruns, mas o session ainda assim não funciona

       
      arquivo index onde não recupera variáveis $_SESSION:
      <?php session_start(); ?> <!DOCTYPE html> <html> <head> <title>Pagina1</title> <link rel="stylesheet" href="css/style.css"/> </head> <body> <article id="newPrincipal"> <h1>Usuário id:<?php echo $_SESSION['userId']; ?></h1> </article> <h1>Result:<?php echo "Usuário id:".$_SESSION['userId']; ?></h1> </body> </html> <?php echo '<pre>'; print_r($_SESSION['userId']); echo '</pre>'; arquivo login:
       
      <?php if(isset($_POST['login-submit'])){ require 'dbh.inc.php'; $users = $_POST['nome']; $mailuid = $_POST['mailuid']; $password = $_POST['pwd']; $token; if(empty($mailuid) || empty($password)){ header("Location: ../header.php=emptyfields"); exit(); } else{ $sql = "SELECT * FROM users WHERE Usuarios=? AND email=?"; $stmt = mysqli_stmt_init($conn); if(!mysqli_stmt_prepare($stmt, $sql)){ header("Location: ../index.php?error=sqlerror"); exit(); } else{ mysqli_stmt_bind_param($stmt, "ss", $mailuid, $users); mysqli_stmt_execute($stmt); $result = mysqli_stmt_get_result($stmt); if($row = mysqli_fetch_assoc($result)){ $pwdCheck = password_verify($password, $row['pwdUsers']); if($pwdCheck == false){ header("Location: ../header.php?error=wrongpwd"); exit(); } else if($pwdCheck == true){ session_start(); $_SESSION['userId'] = $row['idUsers']; $_SESSION['userId2'] = $row['uidUsers']; $_SESSION['email'] = $row['emailUsers']; header("Location: ../index.php?login=".$_SESSION['userId']); } else{ header("Location: ../login.php?error=wrongpwd"); exit(); } } } } } else{ header("Location: ../index.php"); }  
      Eu tentei de todas as formas recuperar alguma informação usando o $_SESSION no arquivo index, mas não consegui
      Estou beirando o desespero, xoxo
       
                                                         
    • Por MachineMan
      com os dados já inseridos. Por favor. é só para um site de um trabalho da escola, então não precisa de MySqL, encontrei alguns, mas não funcionam, não sei o motivo.
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.