Ir para conteúdo

Arquivado

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

Erick Cerqueira

[Validar] Evitar Cadastro de Dados Duplicados

Recommended Posts

Boa noite!

Como faço pra evitar que sejam realizado cadastros com as mesmas informações?

Atualmente meu "processa.php" está desta forma, e queria incluir a função citada acima...

<?php

session_start();
include_once ("conexao.php");

$nome = filter_input($INPUT_POST, 'nome', FILTER_SANITIZE_STRING);
$email = filter_input($INPUT_POST, 'email', FILTER_SANITIZE_EMAIL);
$senha = filter_input($INPUT_POST, 'senha', FILTER_SANITIZE_STRING);
$cargo = filter_input($INPUT_POST, 'cargo', FILTER_SANITIZE_STRING);
$setor = filter_input($INPUT_POST, 'setor', FILTER_SANITIZE_STRING);

$result_usuario = "INSERT INTO usuarios (nome, email, senha, cargo, setor, created) VALUES ('$nome', '$email', '$senha', '$cargo', '$setor', NOW())";
$resultado_usuario = mysqli_query($conn, $result_usuario);

if(mysqli_insert_id($conn)){
    $_SESSION['msg'] = "<p style='color:green;'>Usuário cadastrado com sucesso</p>";
    header("Location: cadastrar-usuario.php");
}else{
    $_SESSION['msg'] = "<p style='color:red;'>Usuário não foi cadastrado com sucesso</p>";
    header("Location: cadastrar-usuario.php");
}


?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Erick Cerqueira, joia!

Existe varias formas de fazer esse tratamento, mas de uma forma muito simples, basta você definir o campo email como unique no banco de dados, dessa forma, caso o email já esteja cadastrado, não ocorrera um novo cadastro.
 

ALTER TABLE usuarios
ADD UNIQUE (email);

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa noite!

Pessoal, no código que irei mostrar logo abaixo eu não consigo cadastrar nada, ele simplesmente fica dizendo que a "Matricula já existe no sistema" o tempo todo, mesmo não tendo cadastrado nenhuma ainda :(


Alguém poderia me dizer o que esta errado?
 

   <?php
    
    session_start();
    include_once ("conexao.php");
    
    $marca = filter_input($INPUT_POST, 'marca', FILTER_SANITIZE_STRING);
    $modelo = filter_input($INPUT_POST, 'modelo', FILTER_SANITIZE_STRING);
    $sn = filter_input($INPUT_POST, 'sn', FILTER_SANITIZE_STRING);
    $imei = filter_input($INPUT_POST, 'imei', FILTER_SANITIZE_STRING);
    $numero = filter_input($INPUT_POST, 'numero', FILTER_SANITIZE_STRING);
    $imei_chip = filter_input($INPUT_POST, 'imei_chip', FILTER_SANITIZE_STRING);
    $plano = filter_input($INPUT_POST, 'plano', FILTER_SANITIZE_STRING);
    $dados = filter_input($INPUT_POST, 'dados', FILTER_SANITIZE_STRING);
    $fone = filter_input($INPUT_POST, 'fone', FILTER_SANITIZE_STRING);
    $matricula = filter_input($INPUT_POST, 'matricula', FILTER_SANITIZE_STRING);
    $responsavel = filter_input($INPUT_POST, 'responsavel', FILTER_SANITIZE_STRING);
    $funcao = filter_input($INPUT_POST, 'funcao', FILTER_SANITIZE_STRING);
    $cod_setor = filter_input($INPUT_POST, 'cod_setor', FILTER_SANITIZE_STRING);
    $setor = filter_input($INPUT_POST, 'setor', FILTER_SANITIZE_STRING);
    $obs = filter_input($INPUT_POST, 'obs', FILTER_SANITIZE_STRING);
    
    $result_telefone = "INSERT INTO cadastro_telefone (marca, modelo, sn, imei, numero, imei_chip, plano, minutos, dados, fone, matricula, responsavel, funcao, cod_setor, setor, obs, data)
        SELECT * FROM (SELECT '$marca', '$modelo', '$sn', '$imei', '$numero', '$imei_chip', '$plano', '$minutos', '$dados', '$fone', '$matricula', '$responsavel', '$funcao', '$cod_setor', '$setor', '$obs', now() ) AS temp
        WHERE NOT EXISTS (
            SELECT matricula FROM cadastro_telefone WHERE matricula = '$matricula'
        ) LIMIT 1;";
    
    if(!mysqli_query($conn, $result_telefone)){
        $_SESSION['msg'] = "<p style='color:red;'>Não foi possível cadastrar o telefone..</br> 
        <b>Motivo:</b> Ocorreu um erro com o banco de dados.</p>";
        header("Location: cadastrar-telefone.php");
    }
    
    if(mysqli_affected_rows($conn) > 0){
        $_SESSION['msg'] = "<b><p style='color:green;'>Telefone foi cadastrado com sucesso!</p></b>";
        header("Location: cadastrar-telefone.php");
    } else {
        $_SESSION['msg'] = "<p style='color:red;'>Não foi possível cadastrar o telefone.</br> 
        <b>Motivo:</b> Esta Matricula já está cadastrada em nosso Sitema!</p>";
        header("Location: cadastrar-telefone.php");
    }
    ?>

 

ulOAS.png

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por ILR master
      Fala galera.
      Espero que todos estejam bem.
      Seguinte: Tenho um arquivo xml onde alguns campos estão com : (dois pontos), como o exemplo abaixo:
       
      <item>
      <title>
      d sa dsad sad sadasdas
      </title>
      <link>
      dsadas dsa sad asd as dsada
      </link>
      <pubDate>sadasdasdsa as</pubDate>
      <dc:creator>
      d sad sad sa ad as das
      </dc:creator>
      </item>
       
      Meu código:
       
      $link = "noticias.xml"; 
      $xml = simplexml_load_file($link); 
      foreach($xml -> channel as $ite) {     
           $titulo = $ite -> item->title;
           $urltitulo = $ite -> item->link;
           print $urltitulo = $ite -> item->dc:creator;
      } //fim do foreach
      ?>
       
      Esse campo dc:creator eu não consigo ler. Como faço?
       
      Agradeço quem puder me ajudar.
       
      Abs
       
       
    • Por First
      Olá a todos!
       
      Eu estou criando um sistema do zero mas estou encontnrando algumas dificuldades e não estou sabendo resolver, então vim recorrer ajuda de vocês.
      Aqui está todo o meu código: https://github.com/PauloJagata/aprendizado/
       
      Eu fiz um sistema de rotas mas só mostra o conteúdo da '/' não sei porque, quando eu tento acessar o register nada muda.
      E eu também quero que se não estiver liberado na rota mostra o erro de 404, mas quando eu tento acessar um link inválido, nada acontece.
      Alguém pode me ajudar com isso? E se tiver algumas sugestão para melhoria do código também estou aceitando.
       
       
      Desde já, obrigado.
    • Por landerbadi
      Olá pessoal, boa tarde
       
      Tenho uma tabela chamada "produtos" com os seguintes campos (id, produto) e outra tabela chamada "itens" com os seguintes campos (id, prod_01, prod_02, prod_03, prod_04).
       
      Na tabela produtos eu tenho cadastrado os seguintes produtos: laranja, maçã, uva, goiaba, arroz, feijão, macarrão, etc.
       
      Na tabela itens eu tenho cadastrado os itens da seguinte maneira:
       
      1, laranja, uva, arroz, feijão;
      2, maçã, macarrão, goiaba, uva;
      3, arroz, feijão, maçã, azeite
       
      Meu problema é o seguinte: 
      Eu escolho um produto da tabela "produtos", por exemplo "uva".  Preciso fazer uma consulta na tabela "itens" para ser listado todos os registros que contenham o produto "uva" e que todos os demais produtos estejam cadastrados na tabela "produtos".
       
      No exemplo acima seria listado apenas dois registros, pois o terceiro registro não contém o produto "uva". 
       
      Alguém pode me ajudar? Pois estou quebrando a cabeça a vários dias e não consigo achar uma solução.
×

Informação importante

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