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):
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>
<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>