Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Fabyo

Evitando cadastrar dados repetidos

Recommended Posts

Muita gente nova em php tem duvidas sobre como evitar cadastrar usuarios repetidos, entao resolvi deixar um exemplo aqui.

 

Dicas uteis:

 

1 - sempre abra a conexao com o banco só na hora de usar.

 

2- deixe a conexao aberta o minimo de tempo possivel.

 

3- mesmo que o navegador feche a conexao quando ele é fechado

sempre feche a conexao assim que acabar de usar

um modo errado que a maioria faz por ai é de abrir a conexao no começo da pagina , e fechar no final da pagina, e as vezes nem usa a conexao.

 

4- use o count ao inves de mysql_num_rows , pq nesse caso você precisa que retorne apenas 1 registro entao o count é mais rapido pra isso, mesmo que nao de pra notar a diferença, é recomendado usar o count por ser o modo mais claro e correto ,deixando o trafego com o banco de dados o mais livre possivel

 

exemplo para nao cadastrar usuarios repetidos:

 

$nome = strip_tags(trim($_POST["nome"]));

 

//conecta no banco

$re = mysql_query("select count(*) as total from usuarios where nome = '$nome'");

$total = mysql_result($re, 0, "total");

//desconecta do banco

if ($total == 0) {

 

 

//aqui você monta o sql pra cadastrar o usuario

 

}

else{

 

echo "Ja existe esse usuario cadastrado";

exit;

}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Muita gente nova em php tem duvidas sobre como evitar cadastrar usuarios repetidos, entao resolvi deixar um exemplo aqui.

 

Dicas uteis:

 

1 - sempre abra a conexao com o banco só na hora de usar.

 

2- deixe a conexao aberta o minimo de tempo possivel.

 

3- mesmo que o navegador feche a conexao quando ele é fechado

sempre feche a conexao assim que acabar de usar

um modo errado que a maioria faz por ai é de abrir a conexao no começo da pagina , e fechar no final da pagina, e as vezes nem usa a conexao.

 

4- use o count ao inves de mysql_num_rows , pq nesse caso você precisa que retorne apenas 1 registro entao o count é mais rapido pra isso, mesmo que nao de pra notar a diferença, é recomendado usar o count por ser o modo mais claro e correto ,deixando o trafego com o banco de dados o mais livre possivel

 

exemplo para nao cadastrar usuarios repetidos:

 

$nome = strip_tags(trim($_POST["nome"]));

 

//conecta no banco

$re = mysql_query("select count(*) as total from usuarios where nome = '$nome'");

$total = mysql_result($re, 0, "total");

//desconecta do banco

if ($total == 0) {

 

 

//aqui você monta o sql pra cadastrar o usuario

 

}

else{

 

echo "Ja existe esse usuario cadastrado";

exit;

}

 

oq seria esse 0 e esse "total" em $total = mysql_result($re, 0, "total");

 

gostaria de utilizar esse código para nao permitir q data e hora se repitam, pois o meu sistema é de marcação de consultas e nao posso ter 2 consultas no mesmo horario....

 

 

vlw...

Compartilhar este post


Link para o post
Compartilhar em outros sites

oq seria esse 0 e esse "total" em $total = mysql_result($re, 0, "total");

O "0" é o número da linha da qual se deseja obter o resultado. "total" é o nome do campo.

 

Veja mais em:

http://br2.php.net/mysql_result

 

[]s

Beraldo

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.