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

Proibir que o usuário cadastre 2 usuários iguais


Paulo Vitorw

Pergunta

<?php 

include("includes/conexao.php");//conexão com o banco

if(isset($_POST["registrar"])) {
    //Busca no banco a quantidade de usuarios que tenham a mesma matricula OU o mesmo email
    $querySelect = "SELECT count(*) total FROM usuarios WHERE matricula = {$_POST['matricula']} or email = {$_POST['email']}";


     //prepara a query
    $statement = $connection->prepare($querySelect);

    //executar o comando sql
    $result = $statement->execute();

    //juntar todos os resultados do select em um vetor de arrays
    $result = $statement->fetch(PDO::FETCH_ASSOC);
    
    //Verificase o valor retornado é 0 (Nenhum usuário igual cadastrado)
    if($result['total'] == 0){

        $senha           = $_POST['senha'];
        $confirma_senha  = $_POST['confirma_senha'];
        if (empty($senha)) {
            $mensagem = "<span class='aviso'><b>Aviso</b>: Senha não foi alterada!</span>";
        } else if ($senha == $confirma_senha) {
            $query = "INSERT INTO usuario (nome, sobrenome, matricula, email, senha) 
                  VALUES (:nome, :sobrenome, :matricula, :email, :senha)";

            $statement = $connection->prepare($query);


            $valores = array();
            $valores[':nome'] = (isset($_POST['primeiroNome']) ? $_POST['primeiroNome'] : '');
            $valores[':sobrenome'] = (isset($_POST['sobrenome']) ? $_POST['sobrenome'] : '');
            $valores[':matricula'] = (isset($_POST['matricula']) ? $_POST['matricula'] : '');
            $valores[':email'] = (isset($_POST['email']) ? $_POST['email'] : '');
            $valores[':senha'] = (isset($_POST['senha']) ? $_POST['senha'] : '');

            $result = $statement->execute($valores);
            if(!empty($result)){
                $mensagem = "<span class='aviso'><b>Sucesso</b>: deu certo!</span>";
            }
        } else {
             $mensagem = "<span class='aviso'><b>Aviso</b>: Senha e repetir senha são diferentes!</span>";
      
        }

    }else{
        $mensagem = "<span class='aviso'><b>Erro</b>: Email ou matricula já cadastrado!</span>";
    }

}


?>

Bom eu queria proibir que o usuário cadastrasse  2 usuários iguais, tipo o usuários não pode se cadastrar com um matricula e email que já existem. Bom eu tentei esse fazer um esse código ai mas ele continua registrando o usuários com dados que já existem no banco 

Editado por Paulo Vitorw
Informações a mais
Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Olá!
No seu arquivo .sql faça assim:

create table usuarios(
id int(11) primary key auto_increment,
nome varchar(40),
sobrenome varchar (60),

matricula varchar(15),
email varchar(60),
senha char(41),
date_created timestamp default current_timestamp,

unique(matricula, email)
);

Assim, não poderão ter dois registros com matrícula e email iguais

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