Erro (Sistema de autenticação de usuários em PHP)
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:
$result_id = @mysql_query($SQL) or die("Erro no banco de dados!"); Meu Código:
<?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
Curtidas 0
Melhor post
Lucas Guedes
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.
$result_id = @mysql_query($SQL) or die("Erro no banco de dados!");
$total = @mysql_num_rows($result_id); Para:
$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.
$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); GOSTEI 1
Mais Respostas
Ygor Leal
24/08/2017
Aqui vai um exemplo do meu login.
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
}GOSTEI 0