Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #59 da revista programar. Faz já o download aqui!

pedrolgon_05

Verificar CAPTCHA

Mensagens Recomendadas

pedrolgon_05    0
pedrolgon_05

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

<!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>

Editado por Rui Carlos
GeSHi

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora


×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.