Fórum Erro (Sistema de autenticação de usuários em PHP) #585254
24/08/2017
0
Estou aprendendo fazer um Sistema de autenticação de usuários em PHP, estou seguindo as instruções do artigo: Link do Artigo
Após terminar o sistema ele esta me apresentando o erro: Fatal error: Uncaught Error: Call to undefined function mysql_query()
Linha do erro:
Meu Código:
Se alguém puder me explicar onde errei agradeço :D
Após terminar o sistema ele esta me apresentando o erro: Fatal error: Uncaught Error: Call to undefined function mysql_query()
Linha do erro:
1 | $result_id = @mysql_query($SQL) or die("Erro no banco de dados!"); |
Meu Código:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 | <? php require "comum.php"; session_start(); // Recupera o login $ login = isset ($_POST["login"]) ? addslashes(trim($_POST["login"])) : FALSE; // Recupera a senha, a criptografando em MD5 $ senha = isset ($_POST["senha"]) ? md5(trim($_POST["senha"])) : FALSE; // Usuário não forneceu a senha ou login if(!$login || !$senha){ echo "Você deve digitar sua senha e login!"; exit; } /** *Executa a consulta no banco de dados *Caso o número de linhas retornadas seja 1 o login é válido *Caso 0, inválido **/ $SQL = "SELECT id, nome, login, senha, postar FROM aut_usuarios WHERE login = ". $login ." "; $result_id = @mysql_query($SQL) or die("Erro no banco de dados!"); $total = @mysql_num_rows($result_id); // Caso o usuário tenha digitado um login válido o número de linhas será 1.. if($total){ // Obtem os dados do usuário, para poder verificar a senha e passar os demais dados para a sessão $dados = @mysql_fetch_array($result_id); // Agora verifica a senha if(!strcmp($senha, $dados['senha'])){ // Tudo OK! Agora, passa os dados para a sessão e direciona o usuário $_SESSION['id_usuario'] = $dados['id']; $_SESSION['nome_usuario'] = stripslashes($dados['nome']); $_SESSION[permissao] = $dados['postar']; header("location: index.php"); exit; } // Senha inválida else{ echo "Senha inválida!"; exit; } } // Login inválido else{ echo "O login fornecido por você é inválido!"; exit; } ?> |
Se alguém puder me explicar onde errei agradeço :D

Lucas Guedes
Curtir tópico
+ 0
Responder
Post mais votado
24/08/2017
Alterei as linhas 27 e 28
Para:
Agora esta aparecendo o erro: Erro no banco de dados!
Porém verifiquei e esta tudo certo.
1 2 | $result_id = @mysql_query($SQL) or die("Erro no banco de dados!"); $total = @mysql_num_rows($result_id); |
Para:
1 2 | $result_id = @mysqli_query($SQL) or die("Erro no banco de dados!"); $total = @mysqli_num_rows($result_id); |
Agora esta aparecendo o erro: Erro no banco de dados!
Porém verifiquei e esta tudo certo.
1 2 3 4 5 | $SQL = "SELECT id, nome, login, senha, postar FROM aut_usuarios WHERE login = ". $login .""; $result_id = @mysqli_query($SQL) or die("Erro no banco de dados!"); $total = @mysqli_num_rows($result_id); |
Lucas Guedes

Responder
Gostei + 1
Mais Posts
24/08/2017
Ygor Leal
Aqui vai um exemplo do meu login.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | if (!empty($_POST) AND (empty($_POST['mail']) OR empty($_POST['password']))) { header("Location: ../../index.php"); exit; // RETORNA SE ESTIVER EM BRANCO } $result = $mysqli->query("SELECT * FROM `users` WHERE `mail` = '$my_mail' AND `password`= '$my_password'"); $resultados = mysqli_fetch_array($result); if(mysqli_num_rows ($result) > 0) { $mysqli->query("UPDATE users SET last_online = '$today' WHERE `mail` = '$my_mail'"); // ULTIMO LOGIN $mysqli->query("UPDATE users SET ip_last = '" . $_SERVER['REMOTE_ADDR'] . "' WHERE `mail` = '$my_mail'"); // ULTIMO IP $_SESSION['id'] = $resultados['id']; $_SESSION['password'] = $my_password; header('location: ../../main/home'); } else { unset ($_SESSION['mail']); unset ($_SESSION['password']); header('location: ../../index.php?p=fail'); // RETORNA SE ESTIVER ERRADO } |
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)