Script PHP estava funcionando mas agora não funciona mais!
08/11/2018
0
Fiz um script pra verificar se o usuário já está cadastrado no banco de dados senão ele cadastra até ontem a tarde estava funcionando mas agora não funciona! Ele fica somente no if e não pula pro else, o banco de dados está limpo.
<?php
include_once("conexao.php");
$nome =utf8_decode($_POST['nome']);
$nome2 =utf8_decode($_POST['nome2']);
$email =utf8_decode($_POST['email']);
$sexo =utf8_decode($_POST['sexo']);
$cidade =utf8_decode($_POST['cidade']);
$uf =utf8_decode($_POST['uf']);
$usuario =utf8_decode($_POST['usuario']);
$senha = md5($_POST['senha']);
$consulta = mysqli_query($conn, "SELECT COUNT(usuario) FROM teste WHERE usuario = '$usuario'");
$linha = mysqli_num_rows($consulta);
if ($linha > 0) {
//header('Location: cadastro2.php');
echo "Usuário já cadastrado!";
}else{
$result1 = "INSERT INTO teste (nome,sobrenome,email,sexo,cidade,uf,usuario,senha) VALUES ('$nome','$nome2','$email','$sexo','$cidade','$uf','$usuario','$senha')";
$salvar = mysqli_query($conn, $result1);
header('Location: home.html');
}
?>
<?php
include_once("conexao.php");
$nome =utf8_decode($_POST['nome']);
$nome2 =utf8_decode($_POST['nome2']);
$email =utf8_decode($_POST['email']);
$sexo =utf8_decode($_POST['sexo']);
$cidade =utf8_decode($_POST['cidade']);
$uf =utf8_decode($_POST['uf']);
$usuario =utf8_decode($_POST['usuario']);
$senha = md5($_POST['senha']);
$consulta = mysqli_query($conn, "SELECT COUNT(usuario) FROM teste WHERE usuario = '$usuario'");
$linha = mysqli_num_rows($consulta);
if ($linha > 0) {
//header('Location: cadastro2.php');
echo "Usuário já cadastrado!";
}else{
$result1 = "INSERT INTO teste (nome,sobrenome,email,sexo,cidade,uf,usuario,senha) VALUES ('$nome','$nome2','$email','$sexo','$cidade','$uf','$usuario','$senha')";
$salvar = mysqli_query($conn, $result1);
header('Location: home.html');
}
?>
Marcus Vinícius
Curtir tópico
+ 0
Responder
Post mais votado
09/11/2018
Um SELECT COUNT() sempre retorna 1 linha, se o valor for 0 ele mostra 1 linha com COUNT = 0
Para verificar se o usuario esta cadastrado, tire o COUNT porque ele ta recursivo, voce seleciona um count pra pegar os usuarios e depois conta as linhas, mais facil selecionar o usuario e se ele n existir a função mysqli_num_rows vai dar 0.
Mude sua query para :
E ai a função vai retornar 1 linha se houver um usuario e 0 se não houver usuario.
Espero ter ajudado.
Para verificar se o usuario esta cadastrado, tire o COUNT porque ele ta recursivo, voce seleciona um count pra pegar os usuarios e depois conta as linhas, mais facil selecionar o usuario e se ele n existir a função mysqli_num_rows vai dar 0.
Mude sua query para :
SELECT usuario FROM teste WHERE usuario = '$usuario'
E ai a função vai retornar 1 linha se houver um usuario e 0 se não houver usuario.
Espero ter ajudado.
Alex William
Responder
Clique aqui para fazer login e interagir na Comunidade :)