Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

plarruda

Sistema de Login não autentica

Recommended Posts

Eu fazendo um sistema de login e ja estou inserindo usuarios no banco de dados.

Porem na hora de fazer login não está autenticando, apenas da a mensagem de "e-mail ou senha inválidos!"

 

//Aqui eu insiro os usuários no banco de dados

 

 

<?php require ("config/connection.php");?>
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Documento sem título</title>
</head>
<body>
<form action="" method="POST">
<label>
Nome:
</label><br/>
<input type="text" name="nome" placeholder="Nome Completo" /><br/><br/>
<label>
Email:
</label><br/>
<input type="text" name="email" placeholder="email@host.com.br" /><br/><br/>
<label>
Senha:
</label><br/>
<input type="password" name="senha" placeholder="***********" /><br/><br/>
<label>
Confirmar Senha:
</label><br/>
<input type="password" name="csenha" placeholder="*********" /><br/><br/>
<input type="submit" value="Registrar" name="button" />
</form>
</body>
</html>
<?
if(isset($_POST["button"])) {
$nome = mysqli_real_escape_string($mysqli, $_POST["nome"]);
$email = mysqli_real_escape_string($mysqli, $_POST["email"]);
$senha = mysqli_real_escape_string($mysqli, $_POST["senha"]);
$csenha = mysqli_real_escape_string($mysqli, $_POST["csenha"]);
if($nome == "" || $email == "" || $senha == "" || $csenha == "") {
echo "<script> alert('Prencha todos os campos'); </script>";
return true;
}
if($senha != $csenha) {
echo "<script> alert('As senhas devem ser iguais'); </script>";
return true;
}
$select = $mysqli->query("SELECT * FROM usuario WHERE Email='$email'");
if($select) {
$row = $select->num_rows;
if ($row > 0 ) {
echo "<script> alert('Ja existe um usuario com esse nome'); </script>";
} else {
$insert = $mysqli->query("INSERT INTO `usuario`(`Nome`, `Email`, `Senha`, `Permisao`) VALUES ('$nome','$email', '".md5($senha)."','0')");
if ($insert) {
echo "<script> alert('Usuario registrado com sucesso'); location.href='aula10.php' </script>";
} else {
echo $mysqli->error;
}
}
} else {
echo $mysqli->error;
}
}
?>
//Aqui é aonde o usuario faz login
<?
require ("config/connection.php");
?>
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>login</title>
</head>
<body>
<form action="" method="POST">
<label>
Email:
</label><br/>
<input type="text" name="email" placeholder="email@host.com.br" /><br/><br/>
<label>
Senha:
</label><br/>
<input type="password" name="senha" placeholder="*********" /><br/><br/>
<input type="submit" value="Login" name="button" />
</form>
</body>
</html>
<?
if(isset($_POST["button"])){
$email = mysqli_real_escape_string($mysqli, $_POST["email"]);
$senha = mysqli_real_escape_string($mysqli, md5($_POST["senha"]));
if ($email == "" || $senha="") {
echo "<script> alert('Preencha todos os campos!'); </script> ";
return true;
}
$select = $mysqli->query("SELECT * FROM usuario WHERE Email='$email' AND
Senha='$senha'");
$row = $select->num_rows;
$get = $select->fetch_array();
$nome = $get['Nome'];
if($row > 0) {
echo "<script> alert('Bem Vindo $nome'); location.href='http://localhost/aula11php/painel.php/' </script>";
} else {
echo "<script> alert('Usuário ou senha incorretos'); </script> ";
}
}
?>

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Já tentou tirar a criptografia md5 do login e do cadastro?]

 

EDIT:

$select = $mysqli->query("SELECT * FROM usuario WHERE Email='$email' AND
Senha='md5($senha)'");
Altere essa linha se quiser fazer login com criptografia

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mude de:

 

$select = $mysqli->query("SELECT * FROM usuario WHERE Email='$email' AND Senha='$senha'");

 

Para

$select = $mysqli->query("SELECT * FROM usuario WHERE Email='". $email ."' AND Senha='". $senha ."'");

 

Espero ter ajudado.

 

 

Não resolveu..simplesmente ele só exibi a mensagem de login ou senha incorreta.

 

 

Não resolveu..simplesmente ele só exibi a mensagem de login ou senha incorreta.

Mude $mysqli-> para mysqli_, ficaria assim:

 

mysqli_fetch_array

mysqli_num_rows

 

Mas o $mysqli->query deixe, assim, normal.

 

Acho que vai dar, pois eu usava mysql (que é deprecated e vai ser removido no futuro) e tive que mudar para o mysqli e tive problemas que resolvi fazendo isso.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

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