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');
}


?>
Marcus Vinícius

Marcus Vinícius

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 :
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

Alex William
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar