Jump to content
robmig

Cadastro com Email repitido

Recommended Posts

Olá Mestres iMasters, obrigado por sua leitura deste modesto pedido de ajuda!

 

Tenho um campo de Cadastro, onde o mesmo quando utilizado um e-mail já cadastrado ele barra impedindo e acusando Email já cadastrado, só que nesse meu caso é importante que eu deixe livre para que possa sim ser feito novos cadastros utilizando o mesmo e-mail cadastrado, só que por inexperiência  nem sei onde vou fuçar meu código para resolver isso...

 

Seria no Banco de Dados? Seria na edição do Script?

 

Campo de Cadastro Atual: 

<div class="form-group">
<div class="col-xs-6">
<input class="form-control" type="text" name="nome" required placeholder="Nome e Whatsapp">
</div>
<div class="col-xs-6">
<input class="form-control" type="text" name="sobre" required placeholder="Sobrenome">
</div>
</div>

<div class="form-group">
<div class="col-xs-6">
<input type="tel" class="form-control" type="text" name="celular" id="celular" required placeholder="Whatsapp Novamente">
</div>
<div class="col-xs-6">
<input class="form-control" type="email" name="email" pattern="[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,3}$" required placeholder="Seu Email">
</div>
</div>

<div class="col-xs-12">
<p class="text-danger" style="font-zine: 5px;">Usuário apenas letras <b>Minúsculas</b> até <b>20 Caracters</b></p>
</div>

<div class="form-group">
<div class="col-xs-12">
<input class="form-control" type="text" required placeholder="Usuário" name="usuario" maxlength="20" pattern="[a-z0-9]{4,12}" onKeyUp="this.value=this.value.replace(/[' 'çÇáÁàÀéèÉÈíìÍÌóòÓÒúùÚÙñÑ~^âêîôûãõ@´.&,!#$%¨&*+=-_?/:;()\|]/g,'')">
</div>
</div>

 

Share this post


Link to post
Share on other sites

Olá!

Não entendi direito sua pergunta. pelo que vi você quer que a mesma pessoa faça outro cadastro usando o mesmo e-mail.

Acho que você colocou que se o e-mail for igual não é aceito, para aceitar na hora de consultar o e-mail coloque mais uma clausula onde ele diferencie uma outra coluna, por exemplo: o campo "e-mail" pode ser igual mas o campo "atividades" ou outro qualquer tem que ser diferente.

SELECT * FROM TABELA WHERE E-MAIL <> $EMAIL AND ATIVIDADE <> $ATIVIDADE

Acho que é isso.

 

Share this post


Link to post
Share on other sites

Normalmente essa trava é posta diretamente no banco de dados fazendo indexação por índice único.

 

Fazer esse tipo de verificação diretamente no código de programação, ao meu, ver consome recursos de forma desnecessária já que isso pode ser aplicado diretamente no banco de dados.

 

Procure na tabela de registros os índices criados e então retire a instrução UNIQUE que tenha vinculado ao campo de email.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By Moacir Antonio Kuhn
      Tenho uma aplicação e há necessidade de enviar documentos, relatórios, imagens para email do cliente usando a sua conta de email (remetente).
      Porém,  atualmente temos uma conta única que faz todo este envio. Porém, o nosso usuário deseja usar uma conta pessoal diferente da padrão definida
      e neste caso, o nosso servidor de email não aceita um remetente que não esteja na base do servidor de email.
      Exemplificando,  remetente do email pode ser um  ...@hotmail.com, ...@gmail.com e o nosso servidor de email não tem estas contas cadastradas e, neste caso, o email é barrado na entrada do servidor.
      Que solução o pessoal tem feito para estes casos, pois já vi aplicação efetuando esta lógica com sucesso.
      Não quero que o usuário configurar SMTP, Conta, Senha, Porta...quero um envio automático para o destinatário.
       
    • By robertoferreira
      Pessoal alguém que indique o melhor provedor de e-mail profissional e com melhor custo / benefício.
    • By szLeonardo
      Olá a todos,
      Estou com um problema no meu cadastro de usuário.
      A parte de cadastrar está sendo realizada corretamente e meu login também, o meu problema está é que tenho que cadastrar em uma tela, depois entrar em outra para validar e acessar.
      Gostaria que quando eu realizasse o cadastro já valida-se e entrasse direto, sem precisar ter que entrar na outra pagina e rodar o login.
       
      Segue meu cadastro que está funcionando:  
      //--Insere Registro   if(isset($_POST['cadastrar'])){     @$usuario      = trim(strip_tags($_POST['usuario']));     @$senha        = trim(strip_tags($_POST['senha']));     @$nivel_acesso = trim(strip_tags($_POST['nivel_acesso']));     $insert = "INSERT INTO cad_usuario (usuario, senha, nivel_acesso)                 VALUES (:usuario, :senha, :nivel_acesso)";   try{     $result = $conexao->prepare($insert);     $result->bindParam(':usuario',      $usuario, PDO::PARAM_STR);     $result->bindParam(':senha',        $senha, PDO::PARAM_STR);     $result->bindParam(':nivel_acesso', $nivel_acesso, PDO::PARAM_STR);     $result->execute();     $contar = $result->rowCount();   if($contar>0){     echo '<div class="alert alert-success">           <button type="button" class="close" data-dismiss="alert">×</button>           <strong>Sucesso!</strong> O Usuario foi Cadastrado!</div>';          $_SESSION['autenticado'] = true;   }else{     echo '<div class="alert alert-danger">           <button type="button" class="close" data-dismiss="alert">×</button>           <strong>Erro ao cadastrar!</strong> Não foi possível cadastrar o Usuario.</div>';   }}catch(PDOException $e){     echo $e;   }}   } }  
      Segue meu validador do usuário cadastrado que está funcionando: 
      <?php session_start(); include_once "connection/conecta.php"; $usuario = new Usuario(); try {   if($usuario->confere($_POST['usuario'],$_POST['senha'])) {     $_SESSION['autenticado'] = true;     $_SESSION['usuario'] = $_POST['usuario'];     header('location: principal.php');   } else {     $_SESSION['autenticado'] = false;     include_once "index.php";     exit("<div class='alert alert-danger col-sm-12'>Usuário ou senha incorretos. Verifique</div>");   } } catch(PDOException $p){   echo "Ocorreu um erro inesperado: ". $p->getMessage(); } ?>  
      Segue minha pagina principal aonde valida a $_SESSION['autenticado'] = false; 
      Mas só valida se passar na pagina index e passar pela validação a cima.
       <?php require_once("connection/conecta.php"); ob_start(); session_start();  if (@!$_SESSION['autenticado']){    include_once "index.php";    exit("<div class='alert alert-danger col-sm-12'>Para acessar o sistema você deve efetuar login</div>");  }     $logado = $_SESSION['usuario'];     $sql = "SELECT * from cad_usuario WHERE usuario = '$logado' and situacao = 'A'";     try{       $result = $conexao->prepare($sql);         $result->execute();       $contar = $result->rowCount();                if($contar =1){         $loop = $result->fetchAll();         foreach ($loop as $show){           $userLogado  = $show['usuario'];           $senhaLogado = $show['senha'];           $nivelLogado = $show['nivel_acesso'];         }       }       }catch (PDOWException $erro){ echo $erro;} ?>  
    • By marsolim
      e aí galera... então tô querendo fazer um sistema de validar a senha por um código enviado pro email da criatura na hora de fazer o cadastro. tive duas ideias aqui...
       
      1. criar um campo na tabela de usuarios mesmo vamos dizer de nome status onde na hora do cadastro mete lá o código gerado randomicamente e manda o email pra pessoa e aí a pessoa insere o código recebido no email e bota ele num campo de formulário pra enviar pro sistema e então vai e bota confirmado no lugar do código na tabela e a partir daí, uma vez que foi confirmado entra normalmente.
       
      2. criar uma tabela com o id da criatura e o o código e então a pessoa insere o código e aí bota confirmado ou exclui a linha já que ela pode não ser necessária pois nesse caso a ideia é se tem a linha é porque ainda não confirmou e se não tem é porque já confirmou.
       
      ora pois eu cá acho que a primeira ideia é mais pratica porque não precisa de duas querys ou join pra fazer isso o que poupa recurso do sistema mas vocês faz de forma diferente? tem alguma outra técnica mais eficaz e própria pra isso?
       
      agradecido.
    • By J0e
      Esqueci o e-mail de uma conta antiga minha, como procedo? Já enviei e-mail pelo site e nada.
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.