HTML - Ayuda por favor!! problema formulario con captcha

   
Vista:

Ayuda por favor!! problema formulario con captcha

Publicado por Luxxia (1 intervención) el 14/01/2015 03:26:44
Hola a todos.

No tengo mucha experiencia en programacion, y he puesto un captcha en el formulario contacto que contiene campos spry. Le he adicionado el recaptcha de google, pero aunque se validan los campos del formulario, me envia el formulario sin validar el recaptcha. Llevo mucho tiempo intentando ponerlo a funcionar, pero no encuentro donde está el error .
Agradezco de antemano el apoyo de quien desee ayudarme.

1.- Antes del cierre del </head> tengo este script:

< script src='https://www.google.com/recaptcha/api.js'></script>

2.- El Formulario es el el siguiente:

form action="enviar.php" method="post" name="f1" id="f1">
< input type="hidden" name="email"/>

< ?php
require_once('recaptchalib.php');
$publickey = "6LeVXf8SAAAAALKSbYWfuin8QCvG8YivxJUp-kHr";
$privatekey = "6LeVXf8SAAAAAP98................................. .... ";
$resp = null;
$error = null;

if ($_POST["recaptcha_response_field"]) {
$resp = recaptcha_check_answer ($privatekey,
$_SERVER["REMOTE_ADDR"],
$_POST["recaptcha_challenge_field"],
$_POST["recaptcha_response_field"]);

if ($resp->is_valid) {
echo "Envia el formulario";
} else {
$error = $resp->error;
echo "Has escrito el codigo errado";
echo recaptcha_get_html($publickey, $error);
}
}
?>

< fieldset>
< h3 class="centrartituloenform">Contacto</h3>
< div id ="sprytextfield1">
< label for="nombre">Nombre </label>
< input name="nombre" type="text" id="nombre" size="30" maxlength="30" />
< div class="textfieldRequiredMsg">Requerido.</div>
< /div>
< div id = "sprytextfield2" >
< label for="email1">Correo Electrónico</label>
< input type="text" name="email1" id="email1" size="30" maxlength="30"/>
< div class="textfieldRequiredMsg">Requerido.</div>
< div class="textfieldInvalidFormatMsg">Formato invalido.</div>
< /div>
< div id="spryconfirm1">
< label for="email2">Repita Correo Electrónico</label>
< input type="text" name="email2" id="email2" size="30" maxlength="30" />
< div class="confirmRequiredMsg">Requerido</div>
< div class="confirmInvalidMsg">Los correos no coinciden</div>
< /div>
< div id="sprytextfield3">
< label for="pais">País</label>
< input type="text" name="pais" id="pais" size="30" maxlength="30" />
< div class="textfieldRequiredMsg">Requerido.</div>
< /div>
< div id="spryselect1">
< label for="asunto">Asunto</label>
< select name="asunto" id="asunto" >
< option value="">Elija</option>
< option value="cartanino">Carta Niño</option>
< option value="cartaadulto">Carta Adulto</option>
< option value="revsolar">Revolución Solar</option>
< option value="ajustehora">Ajuste de la Hora</option>
< option value="formulario">Formulario</option>
< option value="precio">Precio</option>
< option value="otro">Otro</option>
< /select>
< div class="selectRequiredMsg">Seleccione el asunto.</div>
< /div>
< div align="center" id="sprytextarea1">
< label for="mensaje"></label>
< textarea name="mensaje" id="mensaje" cols="45" rows="5"></textarea>
< span id="countsprytextarea1">&nbsp;</span>
< div class="textareaRequiredMsg">Escriba su Mensaje.</div>
< div class="textareaMaxCharsMsg">Excedio el maximo de caracteres.</div>
< /div>

< div class="g-recaptcha" data-sitekey="6LeVXf8SAAAAALKSbYWfuin8QCvG8YivxJUp-kHr"></div>

< div align="center">
< input type="submit" name="submit" value="Enviar"/>
& nbsp;&nbsp;
< input type="reset" name="submit" value="Borrar"/>
< /div>
< /fieldset>
< /form>

3.- Archivo para enviar el formulario

< ?php
error_reporting(E_ALL);
ini_set('display_errors', true);

$nombre = $_POST['nombre'];
$mail = $_POST['email1'];
$pais = $_POST['pais'];
$asunto = $_POST['asunto'];
$thank="gracias_contac.html";

$header = 'From: ' . $mail . " \r\n";
$header .= "X-Mailer: PHP/" . phpversion() . " \r\n";
$header .= "Mime-Version: 1.0 \r\n";
$header .= "Content-Type: text/plain";

$mensaje = "Este mensaje fue enviado por " . $nombre . " \r\n";
$mensaje = "Escribo desde: " . $pais . "\r\n";
$mensaje .= "Mi e-mail es: " . $mail . " \r\n";
$mensaje .= "Mensaje: " . $_POST['mensaje'] . " \r\n";
$mensaje .= "IP: " . $_SERVER["REMOTE_ADDR"] . " \r\n";
$mensaje .= "Enviado el: " . date('d/m/Y', time());

$para = 'contacto@xxx.com ' . ', ';
$para .= 'mailito:xxx@hotmail.com ';

if (mail($para, $asunto, utf8_decode($mensaje), $header))Header("Location: $thank");
else {
echo "Fallo el envío";
echo error_reporting(E_ALL);
}
?>
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder