Tengo un script de envio de formulario y le he querido agregar el servicio de captcha que brinda re-captcha. Cuando uno ingrresa mal el capcha aparece el mensaje de error y cuando lo ingresa bien te agradece, el problema es que en los dos casos me envia el mail.
Debe haber un error muy bobo pero soy nuevo en estoy y necesito su ayuda.
Les dejo el script.
Código PHP:
<center>
<html>
<body>
<?
require_once('recaptchalib.php');
//Llaves de la captcha
$captcha_publickey = "...";
$captcha_privatekey = "...";
$error_captcha=null;
if ($_POST){
$captcha_respuesta = recaptcha_check_answer ($captcha_privatekey,
$_SERVER["REMOTE_ADDR"],
$_POST["recaptcha_challenge_field"],
$_POST["recaptcha_response_field"]);
if ($captcha_respuesta->is_valid) {
//todo correcto
//hacemos lo que se deba hacer una vez recibido el formulario válido
echo "Thanks for your comments.";
}else{
//El código de validación de la imagen está mal escrito.
echo 'The captcha that you have entered is wrong. <br> <a href="/contact.php">Please Try again</a>';
$error_captcha = $captcha_respuesta->error;
}
}
?>
<?
if (!$HTTP_POST_VARS){
?>
<form action="contact.php" method=post name="contact.php" id="contact.php">
<font face="Verdana, Arial, Helvetica, sans-serif"><br>
<font size="3">
<table bordercolordark="#2E9AFE" bordercolorlight="#81BEF7" border="8" cellpadding="1" cellspacing="1">
<tr>
<td>Full Name:</td>
<td></font></font> <font size="3">
<input type=text name="nombre" size=25> </td>
</tr>
<tr>
<td>Email:</font> </td>
<td><font size="3" >
<input type=text name="email" size=25> </td>
</tr>
<tr>
<td>Coments:</font> </td>
<td><font size="2" >
<textarea name="coment" cols="25" rows="6"></textarea> </td>
</tr>
</table>
</font>
<br>
<?
//escribimos en la página lo que nos devuelve recaptcha_get_html()
echo recaptcha_get_html($captcha_publickey, $error_captcha);
?>
<br>
<input class="submit" input type="image" src="/menu/images/boton.png" input name="submit" value="Send">
</form>
<?
}else{
//Estoy recibiendo el formulario, compongo el cuerpo
$cuerpo = "Formulario enviado desde la pagina web www.juanpivec.co.cc\n";
$cuerpo .= "Full Name: " . $HTTP_POST_VARS["nombre"] . "\n";
$cuerpo .= "Email: " . $HTTP_POST_VARS["email"] . "\n";
$cuerpo .= "Coments: " . $HTTP_POST_VARS["coment"] . "\n";
//mando el correo...
mail("[email protected]","Formulario recibido","Formulario recibido",$cuerpo);
}
?>
<!-- Fin del formulario de la página -->
</font>
</body>
</html>
</center>
<br>
<br>
<br>
</div>
<? include("footer.php")?>
</body>
</head>