plarruda 0 Denunciar post Postado Junho 6, 2015 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
Dougg_Ghost 7 Denunciar post Postado Junho 6, 2015 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
plarruda 0 Denunciar post Postado Junho 7, 2015 Não resolveu mesmo sem criptografia. Compartilhar este post Link para o post Compartilhar em outros sites
plarruda 0 Denunciar post Postado Junho 9, 2015 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
plarruda 0 Denunciar post Postado Junho 9, 2015 Desculpe não entendi...que lugar faço essas alterações? agora foi....obrigado pela ajuda Compartilhar este post Link para o post Compartilhar em outros sites