Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) verifica se login já existe no BD


koubajr

Pergunta

Senhores, fiz um sistema para validar se o nome já existe ou não no banco de dados.

Porém, por incrível que pareça, dessa forma que eu fiz, está funcionando. se vocês perceberem no IF, os comandos estão invertidos, pois o certo seria:

se $contar == $nome, deveria aparecer a mensagem:nome já existente. mas se eu colocar assim, não funciona.

agora deste jeito que eu fiz, funciona perfeitamente.

alguém poderia me explicar o que está acontecendo? porque eu não estou entendendo o meu próprio código.

abçs a todos e obrigado..

<?php
    include"conexao.php";
    $nome = $_POST['nome'];
    $senha = $_POST['senha'];

    $nome_bd = mysql_query("SELECT * FROM cadastro WHERE nome='$nome'")
    or die (mysql_error());
    $contar = mysql_num_rows ($nome_bd);
    if($contar == $nome){
        $cadastra = mysql_query("INSERT INTO cadastro values('','$nome','$senha')");
        $grava = mysql_query($cadastra);
        echo "cadastro efetuado com sucesso";
    }else{
        echo"nome já existente";
    }    

?>

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

O que você fez aí foi contar o número de registros existentes e verificar se o nome inserido é igual a este número.

Como provavelmente o nome não será igual, ele retornará dizendo que o nome já existe.

Se você colocar um nome que ainda não existe no banco, ele fará a mesma coisa.

Pra ele funcionar adequadamente, o correto seria:

<?php
    include"conexao.php";
    $nome = $_POST['nome'];
    $senha = $_POST['senha'];

    $nome_bd = mysql_query("SELECT * FROM cadastro WHERE nome='$nome'")
    or die (mysql_error());
    $contar = mysql_num_rows ($nome_bd);
    if($contar > 0){
        echo"nome já existente";
    }else{
        $cadastra = mysql_query("INSERT INTO cadastro values('','$nome','$senha')");
        $grava = mysql_query($cadastra);
        echo "cadastro efetuado com sucesso";
    }    

?>

Já que com mysql_num_rows() você trabalha com números.

Link para o comentário
Compartilhar em outros sites

  • 0

Puts, funcionou mesmo.

era isso ai. agora eu entendi.

vlw mesmo..

abçss

O que você fez aí foi contar o número de registros existentes e verificar se o nome inserido é igual a este número.

Como provavelmente o nome não será igual, ele retornará dizendo que o nome já existe.

Se você colocar um nome que ainda não existe no banco, ele fará a mesma coisa.

Pra ele funcionar adequadamente, o correto seria:

<?php
    include"conexao.php";
    $nome = $_POST['nome'];
    $senha = $_POST['senha'];

    $nome_bd = mysql_query("SELECT * FROM cadastro WHERE nome='$nome'")
    or die (mysql_error());
    $contar = mysql_num_rows ($nome_bd);
    if($contar > 0){
        echo"nome já existente";
    }else{
        $cadastra = mysql_query("INSERT INTO cadastro values('','$nome','$senha')");
        $grava = mysql_query($cadastra);
        echo "cadastro efetuado com sucesso";
    }    

?>

Já que com mysql_num_rows() você trabalha com números.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652k
×
×
  • Criar Novo...