When registering user, I need to verify in the database if this user already exists and display error message

0

Below is my code. It does everything but hangs on the "user already registered" message even though I enter a different user in the field!

Notes:

$con is the connection to the database that is correct;

login is the id in the field of the page where you enter the data;

mysqli usage;

the table is "users"

$login = $_POST['login'];
$senha = $_POST['senha'];

#Recolhendo os dados do formulário
$loginrecolha = mysqli_real_escape_string($con, $login);
$senharecolha = mysqli_real_escape_string($con, $senha);

# Verificando apenas um campo, no caso login.
$sql = $con->query("SELECT login FROM usuarios WHERE login='$loginrecolha'");
if(mysqli_num_rows($sql) > 0){
echo "Este usuário já existe";
exit();
} else {
 if(!$con->query("INSERT INTO usuarios (login,senha) VALUES 
('$login','$senha')")) die ('Os dados não foram inseridos');
 echo "Dados inseridos com sucesso";
}
    
asked by anonymous 07.12.2018 / 13:53

1 answer

0

Try changing the code this way:

$login = $_POST['login'];
$senha = $_POST['senha'];

#Recolhendo os dados do formulário
$loginrecolha = mysqli_real_escape_string($con, $login);
$senharecolha = mysqli_real_escape_string($con, $senha);

# Verificando apenas um campo, no caso login.
$sql = $con->query("SELECT login FROM usuarios WHERE login='".$loginrecolha."'");
if(mysqli_num_rows($sql) > 0){
echo "Este usuário já existe";
exit();
} else {
 if(!$con->query("INSERT INTO usuarios (login,senha) VALUES 
('$login','$senha')")
   echo "Dados inseridos com sucesso";
 else
   die ('Os dados não foram inseridos')) 
}
    
07.12.2018 / 14:25