Jump to content
marsolim

validar cadastro por email

Recommended Posts

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.

Share this post


Link to post
Share on other sites

Eu sempre opto em ter uma tabela de confirmação outra de cadastro.

Quando o usuário faz seu cadastro, armazeno todos os dados que ele inseriu na tabela de confirmação, mas também adiciono um código randômico em uma coluna, esse que por sua vez passo como link ao e-mail da pessoa exemplo:

https://siteurl/confirmar_cadastro?chave=Hj1e5s1kauk4654KJa1mn2sa1lss423712146

Então ao clicar em seu e-mail o usuário vai para a página de confirmação informando sua chave de ativação, ao qual faço a leitura da tabela, se a chave existe, pego todos os dados da dele inserido anteriormente e armazeno na tabela de cadastro, logo após então apago o registro da tabela de confirmação.

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 ferreiradealmeida
      Prezados(as), boa tarde.
       
      Já trabalhei com webdesign e desenvolvimento frontend, mas faziam anos que não mexia com isso. Hoje sou advogado.
       
      Elaborei uma assinatura para e-mail em HTML, que quando aberta no navegador é exibida corretamente:
       

       
      Ocorre que quando a assinatura é inserida na mensagem (Microsoft Outlook 2016) a disposição dos elementos se mostra desconfigurada, assim permanecendo se a mensagem for enviada:
       

       
      Devem ter notado que a imagem que fica acima das informações é uma imagem de fundo. Já tentei também "background" na <table>, mas neste caso, apesar de aparecer no navegador a imagem sequer aparece na assinatura:
       
      <div style="max-width:716px; max-height:200px; position:relative;"> <img src="http://www.fafadv.com.br/images/assinatura.jpg" alt="imagem-assinatura" /> <div style="position:absolute; top:0px; bottom:0px; left:0px; right:0px;"> <table border="0" cellpadding="0" cellspacing="0" width="716" height="200" style="max-width:716px; max-height:200px;"> <tr> <td rowspan="3" style="width:242px;"></td> <td rowspan="3" style="width:340px; font-family:Gadugi; font-size:14px; padding:5px;"> <p><strong><span style="font-size:18px;">Daniel A. Ferreira de Almeida</span></strong><br> <span style="font-size:16px;">Advogado - OAB/SP 424.237</span></p> <p style="margin-top:-7px;">(16) 9 9373-2552<br> (16) 3421-7783</p> <p style="margin-top:-7px;"><a href="mailto:ferreiradealmeida@fafadv.com.br" style="font-family:Gadugi; font-size:14px; color:#000;"> ferreiradealmeida@fafadv.com.br</a><br> <a href="http://www.fafadv.com.br" style="font-family:Gadugi; font-size:14px; color:#000;">www.fafadv.com.br</a></p> <p style="margin-top:-7px;">Rua Marino Bruno Regini, nº 270, Sala 02<br> Nova Ribeirânia - Ribeirão Preto/SP, CEP 14096-710</p> </td> <td style="width:125px; height:67px; text-align:center;"> <a href="https://www.facebook.com/adv.faf/"> <img src="http://www.fafadv.com.br/images/logo-facebook.png" alt="logo-facebook" style="margin-top:10px;"> </a> </td> </tr> <tr> <td style="width:125px; height:66px; text-align:center;"> <a href="https://www.instagram.com/faf.adv/"> <img src="http://www.fafadv.com.br/images/logo-instagram.png" alt="logo-instagram" style="margin-top:10px;"> </a> </td> </tr> <tr> <td style="width:125px; height:67px; text-align:center;"> <a href="https://www.linkedin.com/company/faf-adv"> <img src="http://www.fafadv.com.br/images/logo-linkedin.png" alt="logo-linkedin" style="margin-bottom:5px;"> </a> </td> </tr> </table> </div> </div> Serei grato se alguém souber o que ocorre e puder colaborar.
       
      Obrigado.
    • By clayton.lima2020
      Boa Tarde!
       
      Pessoal estou com um problema para resolver:
       
      Tenho um uma string que é um Nome:  SYLVIA
       
      Eu preciso fazer uma uma busca nessa string achar a letra Y e depois verificar se após a letra Y a próxima letra é Vogal ou Consoante.
       
      No caso do nome SYLVIA a próxima letra é L então retorna Consoante.
       
      Alguém sabe montar esse algoritmo ai?
    • By ILR master
      Boa tarde pessoal!
       
      A minha dúvida é a seguinte:
      O script abaixo é de um formulário onde o cliente envia suas dúvidas ou sugestões, mas o email está chegando da seguinte forma:
      orcamentos@portasautomaticasandreluis.com.br - Contato pelo site
      e eu quero que chegue assim:
      André Luis Portas de Enrolar - Contato pelo site
       
      ou seja, no lugar do email quero que seja o nome da empresa.
       
      Será que consegui ser claro?
       
      Segue script que estou usando.
       
      Agradeço desde já!
       
      $atitulo= "Contato pelo site";
      $aemail = "orcamentos@portasautomaticasandreluis.com.br";
      $amsg .= "Olá, Administrador!
      O usuário ".$nome." com o email ".$email.", acabou de enviar a seguinte mensagem:
      ".$mensagem."";
      $amsg = utf8_decode($amsg);

          if (PATH_SEPARATOR ==":") {
              $quebra = "\r\n";
          } else {
              $quebra = "\n";
          }
          $headers = "MIME-Version: 1.1".$quebra;
          $headers .= "Content-type: text/plain; charset=iso-8859-1".$quebra;
          $headers .= "From: orcamentos@portasautomaticasandreluis.com.br".$quebra; //E-mail do remetente
          $headers .= "Return-Path: orcamentos@portasautomaticasandreluis.com.br".$quebra; //E-mail do remetente
          mail($aemail, $atitulo, $amsg, $headers, "-r". "orcamentos@portasautomaticasandreluis.com.br");
          }
    • By clayton.lima2020
      Bom dia!
       
      Pessoal estou com um problema estou tentando enviar um e-mail através de um formulário que criei no site da empresa que eu trabalho, porém na hora de enviar está dando erro.
       
      Obs: a hospedagem do site está na Locaweb
       
      Segue abaixo o erro:
       
      Fatal error: Uncaught Error: Call to undefined function eregi() in /home/storage/2/a8/c3/odontosmilesfran1/public_html/class.phpmailer.php:593 Stack trace: #0 /home/storage/2/a8/c3/odontosmilesfran1/public_html/class.phpmailer.php(518): PHPMailer->SmtpConnect() #1 /home/storage/2/a8/c3/odontosmilesfran1/public_html/class.phpmailer.php(410): PHPMailer->SmtpSend('Date: Sat, 5 Ju...', '--b1_b48d510d23...') #2 /home/storage/2/a8/c3/odontosmilesfran1/public_html/envio-franqueador.php(55): PHPMailer->Send() #3 {main} thrown in /home/storage/2/a8/c3/odontosmilesfran1/public_html/class.phpmailer.php on line 593
       
      Segue o código do script de envio:
       

        <? require_once("class.phpmailer.php"); //Nova instância do PHPMailer $mail = new PHPMailer; //Informa que será utilizado o SMTP para envio do e-mail $mail->IsSMTP(); //Informa que a conexão com o SMTP será autênticado $mail->SMTPAuth   = true; //Configura a segurança para SSL $mail->SMTPSecure = "ssl"; $mail->Port       = 465; $mail->Host       = "email-ssl.com.br"; //Usuário para autênticação do SMTP $mail->Username =   "sejaumfranqueado@odontosmilesfranchising.com.br"; //Senha para autênticação do SMTP $mail->Password =   "12345678"; // senha ficticia //Titulo do e-mail que será enviado $mail->Subject  =   "PEDIDO PARA SER UM FRANQUEADOR"; //Preenchimento do campo FROM do e-mail $mail->From = $mail->Username; $mail->FromName = $_POST['nome']; // Nome do remetente //E-mail para a qual o e-mail será enviado $mail->AddAddress("sejaumfranqueado@odontosmilesfranchising.com.br"); //Conteúdo do e-mail //$mail->Body = "Novo contato feito através do site Araújo Imóveis.";      $mail->From     = $_POST['email']; // E-mail do remetente         $mail->Body .= "Modelo de Franquia: ".$_POST['modelo']."<br>";         $mail->Body .= "Nome: ".$_POST['nome']."<br>";     $mail->Body .= "Email: ".$_POST['email']."<br>";      $mail->Body .= "Fone Móvel: ".$_POST['fone']."<br>";     $mail->Body .= "Fone Fixo: ".$_POST['movel']."<br>";     $mail->Body .= "Estado: ".$_POST['estado']."<br>";     $mail->Body .= "Cidade: ".$_POST['cidade']."<br>";           $mail->Body .= "Mensagem: ".nl2br($_POST['mensagem'])."";                        $mail->AltBody = $mail->Body; //Dispara o e-mail $enviado = $mail->Send(); //Imprime sucesso. if($enviado)   echo "<script>alert('Sua mensagem foi enviada com sucesso!')</script>"; echo "<meta http-equiv='refresh' content='2;URL=index.php'>"; ?>  
      Segue o trecho do código do arquivo class.phpmailer.php onde está dando o erro
       

         /* Choose the mailer */     switch($this->Mailer) {       case 'sendmail':         $result = $this->SendmailSend($header, $body);         break;       case 'smtp': [b][color=red]         $result = $this->SmtpSend($header, $body); // nessa linha 410 está dando erro [/color][/b]         break;       case 'mail':         $result = $this->MailSend($header, $body);         break;       default:         $result = $this->MailSend($header, $body);         break;         //$this->SetError($this->Mailer . $this->Lang('mailer_not_supported'));         //$result = false;         //break;     }     return $result;   }   /**   Aqui está outro trecho do código:    /* Retry while there is no connection */     while($index < count($hosts) && $connection == false) {       $hostinfo = array(); [b][color=red]      if(eregi('^(.+):([0-9]+)$', $hosts[$index], $hostinfo)) { // aqui está dando erro linha 593[/color][/b]         $host = $hostinfo[1];         $port = $hostinfo[2];       } else {         $host = $hosts[$index];         $port = $this->Port;       }       $tls = ($this->SMTPSecure == 'tls');       $ssl = ($this->SMTPSecure == 'ssl');       if($this->smtp->Connect(($ssl ? 'ssl://':'').$host, $port, $this->Timeout)) {         $hello = ($this->Helo != '' ? $this->Hello : $this->ServerHostname());         $this->smtp->Hello($hello);         if($tls) {           if(!$this->smtp->StartTLS()) {             $this->SetError($this->Lang("tls"));             $this->smtp->Reset();             $connection = false;           }           //We must resend HELLO after tls negociation           $this->smtp->Hello($hello);         }         $connection = true;         if($this->SMTPAuth) {           if(!$this->smtp->Authenticate($this->Username, $this->Password)) {             $this->SetError($this->Lang('authenticate'));             $this->smtp->Reset();             $connection = false;           }         }       }       $index++;     }     if(!$connection) {       $this->SetError($this->Lang('connect_host'));     }     return $connection;   }    

      Obrigado a todos que puderem ajudar
       
       
×

Important Information

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