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

não Permitir Insercao De Dados Repetidos!


K0br4k4nN

Pergunta

Mais uma vez!!! Com uma duvida!!!

Seguinte como todo mundo sabe sou iniciante no php e mysql mais estou me dedicando muito...

estou fazendo um systema de news e já está quase pronto (quando tiver pronto vou postar no forum).

E pra falar a verdade falta só terminar o sistema de cadastro de ususarios, so que eu estou tendo um problema tpw como sou iniciante não sei fazer com que meu script "não PERMITA A INSERCAO DE DADOS REPETIDOS" ai segue meu script pra quem poder me ajudar!

<title>CADASTRAR NOVO USUARIO</title>

<?php

include('config.php');

$login = $_POST['login'];

$senha = $_POST['senha'];

$senhac = $_POST['senhac'];

if($login == "") {echo "PREENCHA UM LOGIN<br>";}

if($senha == "") {echo "PREENCHA UMA SENHA<br>";}

if($senhac == "") {echo "PREENCHA COFIRMACAO DE SENHA<br>";}

elseif($senhac != $senha) {echo "As senhas não conferem";}

else {

if($senha == $senhac) {

$inserir = mysql_query("INSERT INTO login (login,senha) VALUES ('$login','$senha')") or die ("não foi possivel");

if($inserir)

echo "dados inseridos com sucesso";

}

}

?>

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Antes de fazer o Insert, você tem que fazer um select para verificar se há um registro igual.

Por exemplo:

$login = $_POST['login'];//aqui você resgata o login digitado
$sql = "select * from tabela where login='$login' ";//selecionar tudo da tabela quando login for igual ao $login
$query = mysql_query($sql); //executa o query
$busca = mysql_num_rows($query); //pega o total das linhas encontradas

if (($busca)=='0'){
    AQUI VOCÊ FAZ O INSERT    //pois se foi 0, não encontrou nenhum registro igual
} else {
    echo "Já existe um usuário usando este LOGIN";
}

acho que é isso.

qualquer dúvida, posta aew

falou

Link para o comentário
Compartilhar em outros sites

  • 0

O mais correto é deixar o campo login como chave única (Unique Key). Isso faz com que, se você tentar inserir um registro já cadastrado, o MySQL retorne o erro Duplicate Entry, cujo código é 1062. Usando mysql_errno() você pode pegar esse código, se for retornado erro, e apresentar a mensagem alertando que esse registro já existe.

Essa é a base do tratamento de erros para MySQL. ;)

[]'s

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,1k
    • Posts
      651,8k
×
×
  • Criar Novo...