• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Gurzi

Pesquisa por nickname na BD

7 mensagens neste tópico

Bem são 3,15 da manhã , estou aqui eu a desenvolver o meu sistema de Registo do Gendra e estou com uma dúvida.(ainda bem que as tenho, se não era um génio :biggrin:)

Ora , quero verificar se o nick que a pessoa introduziu no campo $_POST['LOGIN'] já existe na base de dados.

Fiz o seguinte :

$VERIFICAR_NICK = "SELECT NICKNAME FROM users WHERE NICKNAME LIKE '".$LOGIN."';";

$VERIFICACAO= MYSQL_QUERY($VERIFICAR_NICK) OR DIE("FALHOU A VERIFICACAO DO NICKNAME");

IF($VERIFICACAO == "NULL"){
ECHO "NICK JA EXISTE";
    EXIT();
}

o $login já está definido em cima por isso não se preocupem com isso..

Acho que o problema aqui é o if, pelo que estou  a perceber se aquele nick não existir ele devolve algo que não é "NULL" , agora , o que devolve ele ?

Abraço :P

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

podes usar a função mysql_num_rows()

pk e ke na query que fazes usas o like e nao o igual? fica mais curto se usares o = :P

$VERIFICAR_NICK = "SELECT NICKNAME FROM users WHERE NICKNAME LIKE '".$LOGIN."';";
        $VERIFICACAO= MYSQL_QUERY($VERIFICAR_NICK) OR DIE("FALHOU A VERIFICACAO DO NICKNAME");
$total=mysql_num_rows($VERIFICACAO);
if($total==0){
                echo "NICK JA EXISTE";
                exit();
        }

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Aqui de facto até é mais seguro o igual, imagina que eu tento fazer login com Hec mas na BD existe HecKel?

Se não estou em erro, com o like iria aparecer o HecKel, logo rows diferente de zero..., com o igual GARANTES que tem de ser MESMO aquele :P

Btw, assim não testas a capitalização, pois heckel e HecKel deveriam funcionar ambos no login :D

abraços, HecKel

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Aqui de facto até é mais seguro o igual, imagina que eu tento fazer login com Hec mas na BD existe HecKel?

Se não estou em erro, com o like iria aparecer o HecKel, logo rows diferente de zero..., com o igual GARANTES que tem de ser MESMO aquele :)

Btw, assim não testas a capitalização, pois heckel e HecKel deveriam funcionar ambos no login :)

abraços, HecKel

Ele não utilizou  % % por isso se Heckel existe na BD e alguem digitar Hec não vai aparecer nada :P  ele utilizou LIKE '$LOGIN' e não LIKE '%$LOGIN%' 

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Então my mistake :P Tinha ideia que o LIKE abrangia os "semelhantes" :) Afinal estava enganado :)

abraços, HecKel

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

É sempre melhor utilizar LIKE porque podes fazer o login com letras maisculas e minusculas Kingless ou kingless ou KingLESS  se utilizares  "=" só podes entrar o nome certo  kingless e não KINgless.... e isso pode atrapalhar na hora de verificar se um username ja existe na BD e pode permitir a criação de dois usernames iguais kingless e kingLESS...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

olha dessa na sabia, vai me dar jeito kd fizer um sistema de clientes em que os non case sensitive seja relevante :P

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora