Quantcast
Channel: Tópicos
Viewing all articles
Browse latest Browse all 14700

Verificar CAPTCHA

$
0
0
bom dia, desde ja o meu muito obrigado pela adicao a este grupo.
Recentemente tenho vindo a desenvolver uma aplicacao de newslwtter em php onde eu utilizo para o registo de correio electronico um formulario com captcha. o meu problema é aquando da insercao do codigo captcha por parte do utilizador a aplicacao nao consegue efetuar o registo na bd. ja tentei de tudo e nao consigo resolver.tentei colocar um ciclo if ($_session[‘código’] == $_post[‘código’]) antes de todas as outras condições so que ele não executa nada e quando ponho o ciclo else depois de todas as condições, com a condição echo” código invalido ” ele executa somente essa condicao.
Na minha opinião no ciclo if ($_session[‘código’] == $_post[‘código’]) ele não consegue estabelecer se o código inserido é igual ao código gerado.agradecia a ajuda de alguem. um bom dia pedro

o script que elaborei

Código (PHP):
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
<link rel="stylesheet" type="text/css" href="estilo_malinglist.css">

</head>

   <body>

           <table width="800 px" border="0" align="center" class="tabela_geral" cellspacing="0">
                   <form id="form_registo" name="form_registo" action="registar_mail.php" method="POST">
                           <tr class="tabela_geral">
                                   <td>Introduza o seu endereço de correio electronico para se registar na nossa <i>mailing list</i>!
                                   </td>
                           </tr>
                           <tr>
                                   <td class="tabela_geral">
                                           Endereço de correio electronico:<input type="text" size="40" name="email">
                                   </td>
                           </tr>
                                   <tr>

                          <td><img height="80" width="150" src="captcha.php"/>
                                   <input type="text" name='codigo'></td>
                                   </tr>
                           <td>
                                   <input type="submit" name="registar" class="btn btn-red"  value="Registar">
                                   <input type="reset" name="apagar" class="btn btn-red" value="Apagar">
                           </td>

                   </form>
           </table>
          <?php

          //inicia-se com a ligacao à base de dados, verificando se o botao de submissao foi clicado, se o endereÇo esta correcto e ainda se o campo de endereÇo do formulario foi preenchido
          //se estiver tudo correto insere um novo registo na base de dados, caso contrario, informa o utilizador do que deve ser alterado
          include ("ligacaobd.php");

                //verifica se o endereço foi inserido


   if (!empty($_POST) AND (empty($_POST['email']) )){

                         // echo "<tr>Endereco correio electronico vazio<a href='registar_mail.php'>Clique para tentar de novo!</a></tr>";
                           echo"<script> alert('Endereco de correio electronico vazio!! Tentar de novo...'); window.location.href='registar_mail.php';</script> ";
                  }

                  else{

                //verifica se foi clicado o botao de registar
           $codigo1= $_SESSION['codigo'] ;
          $codigo2= $_POST['codigo'];

                 if($codigo1 == $codigo2 ){
                //echo "Ok - Codigo Correto";

          if (isset($_REQUEST['registar'])){

                 //verifica se o endereço ja existe na base de dados

                 $email= $_POST['email'];
                  $sql_mail="SELECT * FROM emails WHERE email='$email' ";

$consulta_mail = mysql_query($sql_mail);

if (mysql_num_rows($consulta_mail) ==1){

//echo "<tr>Endereco de correio electronico ja registado!<a href='registar_mail.php'>Clique para tentar de novo!</a></tr>";

                   echo"<script> alert('Endereco de correio electronico ja registado!! Tentar de novo...'); window.location.href='registar_mail.php';</script> ";
                                                                  }

  else {

          //verifica se o endereço de correio electronico esta correcto

          $email= $_POST['email'];

          if (filter_var($email, FILTER_VALIDATE_EMAIL)){

                  //registar o endereço de correio electronico

                  $sql= "INSERT INTO emails (email, data_registo) VALUES ('$email', NOW() )";

                  $consulta= mysql_query($sql);

                  //confirmar o sucesso do registo do endereço de correio electronico

                  echo "<table>";

                 // echo "<tr>Obrigado por se registar!</tr>";

                 // echo "<tr><a href='registar_mail.php'>Clique para voltar à pagina principal</a></tr>";
                   echo"<script> alert('Obrigado por se registar'); window.location.href='registar_mail.php';</script> ";

          }

          else{

                  //caso nao seje possivel registar, informa o utilizador

                  //echo "<tr>O endereco de correio electronico nao e valido!</tr>";

                 // echo "<tr><a href='registar_mail.php'>Clique para tentar de novo!</a></tr>";
                   echo"<script> alert('O endereco de correio electronico nao e valido!! Tentar de novo...'); window.location.href='registar_mail.php';</script> ";
          }

                  }                                            
          }
                  }

        else{
           // echo "Erro - Codigo digitado errado";
                 echo"<script> alert('Codigo digitado errado!! Tentar de novo...'); window.location.href='registar_mail.php';</script> ";
        }
                  }
          ?>
   </body>
</html>

Viewing all articles
Browse latest Browse all 14700