El caso, tengo un formulario que trabaja bien, pero necesito que cuando envíen e eMail, además y lo está haciendo de validar los campos del formulario, que tome en cuenta el reCaptcha y si este es correcto que enví en email (ejecutar el “actualizacontacto.php”.
Todo me lo esta haciendo bien, pero al darle al enviar el eMail, no toma en cuenta el reCaptcha.
Creo que por allí en “<input type="submit" value="Enviar eMail" " name="enviar" onclick="return comprueba_campos(this.form.email.value)"/> <input type="reset" value="Restablecer" name="B2"></p>” es el problema…
Qué es lo que me falta o sobra?
Agradezco sus orientaciones,
Amig@s, Carlos
Acá el formulario:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Forma de Contacto</title>
<script language="javascript">
function comprueba_campos(valor) {
if (!empresa.empresa.value)
{
alert ("Por favor, introduce el nombre de la empresa")
return false;
}
if (!empresa.asunto.value)
{
alert ("Por favor, introduce el asunto")
return false;
}
if (!empresa.mensaje.value)
{
alert ("Por favor, introduce el mensaje")
return false;
}
if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(valor))
{
return (true);
}
else
{
alert("La dirección de email es incorrecta.");
return (false);
}
return true;
}
</script>
</head>
<body>
<center>
<table border="2" width="34%">
<tr>
<td bordercolordark="#0000FF" bordercolorlight="#0000FF">
<h3 style="display: block; margin: 0px 0px 7px; padding: 0px; text-decoration: none; width: auto; text-shadow: rgba(0, 0, 0, 0.2) 0px 1px 1px; word-wrap: break-word; letter-spacing: 0px; border: none; font-weight: normal !important; font-size: 20px; line-height: 24px; color: rgb(51, 51, 51); font-family: sans-serif; font-style: normal; font-variant: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255);" align="center">
<b><font face="Comic Sans MS" size="6" color="#FF0000">Contacto Rápido</font></b></h3>
<BODY>
<form name="empresa" METHOD="post" ACTION="actualizacontacto.php">
<input type="hidden" name="edad" value="55">
<p><b><font face="Comic Sans MS" size="4" color="#0000FF">Empresa: </font></b> <input type="text" name="empresa" size="19" value=""></p>
<p><b><font face="Comic Sans MS" size="4" color="#0000FF">Asunto: </font></b> <input type="text" name="asunto" size="19" value=""></p>
<p><b><font face="Comic Sans MS" size="4" color="#0000FF">Email: </font></b> <input type="text" name="email">
</p>
<p><b><font face="Comic Sans MS" size="4" color="#0000FF">Mensaje: </font></b> <textarea rows="4" name="mensaje" cols="20"></textarea></p>
<p>
<?php
require_once('recaptchalib.php'); //libreria descargarda de Google
// Llaves creadas en Google
$publickey = "6LcfEvISAAAAAFFKs1qKNMdyvg2HePVDwQ5q1ZBD"; //llave publica
$privatekey = "6LcfEvISAAAAAIhSpWdGfedzOvn48o9EWw1WYCQB"; //lave privada
//Respuesta de reCAPTCHA
$resp = null;
# Errores de reCAPTCHA si es que hay
$error = null;
# was there a reCAPTCHA response?
if ($_POST["recaptcha_response_field"]) { //Si la variable existe es decir, fué enviado desde un Formulario
//la función necesita la llave privada, la IP del usuario, el campo "desafio" y el campo "respuesta" que dió el usuario
$resp = recaptcha_check_answer ($privatekey,
$_SERVER["REMOTE_ADDR"],
$_POST["recaptcha_challenge_field"],
$_POST["recaptcha_response_field"]); //Cuando recibimos los datos por el formulario, procedemos a hacer la verificacion en reCATPCHA
if ($resp->is_valid) {
// echo "AQUI VA TODO EL CODIGO PARA GRABAR, ENVIAR CORREO, ETC. es decir, cuando pasó el reCAPTCHA";
} else {
//En caso falló el reCAPTCHA
$error = $resp->error; //Si deseas muestras los errores
echo $error;
//Aqui va por ejemplo la reimpresion del formulario y el mensaje de reCAPTCHA invalido, etc.
}
}
echo recaptcha_get_html($publickey, $error); //imprimimos el formulario de reCATPCHA
?>
<input type="submit" value="Enviar eMail" " name="enviar" onclick="return comprueba_campos(this.form.email.value)"/> <input type="reset" value="Restablecer" name="B2"></p>
</FORM>
</BODY>
<p> </td>
</tr>
</table>
<p> </p>
<HTML>