VALIDAR RECAPTCHA V2 GOOGLE
Publicado por Almudena (6 intervenciones) el 11/04/2020 10:56:53
Hola buenas llevo un par de días intentando poner el recaptcha v2 de en una web algo que supuestamende debería de ser sencillo pero que no logro, no logro validarlo os cuento lo que tengo.
archivo contact.html donde tengo el formulario y declaro
entre el head con los otros script
luego el formulario
por otra parte en el archivo envio2.php
Así tengo declarado todo todo es visible pero siempre me devuelve que esta mal que verifique el captcha, he probado de varias maneras y siempre me pasa lo mismo, o lo envía siempre o siempre me pide que verifique captcha
a ver si podeis echarme una mano, gracias
archivo contact.html donde tengo el formulario y declaro
entre el head con los otros script
1
2
<!--script recaptcha-->
<script src='https://www.google.com/recaptcha/api.js'></script>
luego el formulario
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<form action="envio2.php" method="post">
<div class="form-group">
<input type="text" class="form-control" placeholder="Nombre y Apellidos" name="nombre" required>
</div>
<div class="form-group">
<input type="text" class="form-control" placeholder="Dirección Email" name="correo" required>
</div>
<div class="form-group">
<input type="text" class="form-control" placeholder="Asunto" name="asunto" required>
</div>
</div>
</div>
<div class="col-md-6 col-sm-12">
<div class="block">
<div class="form-group">
<textarea class="form-control" rows="3" placeholder="Mensaje" name="mensaje" required></textarea>
</div>
<div class="g-recaptcha" data-sitekey="6Lc_PegUAAAAAMolERNXD2Od3G5q3bKzCVgqIo-K"></div><br/><br/>
<button class="btn btn-default" value="ENVIAR" type="submit">Enviar Mensaje</button>
</form>
por otra parte en el archivo envio2.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
<?php
require_once('recaptchalib.php');
ini_set('display_errors',1);
$destino="miemail";
$nombre = $_POST['nombre'];
$correo = $_POST['correo'];
$asunto = $_POST['asunto'];
$mensaje = $_POST['mensaje'];
$contenido = "Nombre: " . $nombre . "\nCorreo: " . $correo . "\nAsunto: " . $asunto . "\nMensaje: " . $mensaje;
mail($destino, "Contacto", $contenido);
$secret = "miclavesecreta";
if (isset($_POST['g-recaptcha-response'])) {
$captcha = $_POST['g-recaptcha-response'];
$url = 'https://www.google.com/recaptcha/api/siteverify';
$data = array(
'secret' => $secret,
'response' => $captcha,
'remoteip' => $_SERVER['REMOTE_ADDR']
);
$curlConfig = array(
CURLOPT_URL => $url,
CURLOPT_POST => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POSTFIELDS => $data
);
$ch = curl_init();
curl_setopt_array($ch, $curlConfig);
$response = curl_exec($ch);
curl_close($ch);
}
$jsonResponse = json_decode($response);
if ($jsonResponse->success === true) {
// Si el código es correcto, seguimos procesando el formulario como siempre
echo "<script>alert('Su mensaje ha sido enviado correctamente')</script>";
echo "<script>location.href='index.html';</script>";
} else {
// Si el código no es válido, lanzamos mensaje de error al usuario
echo "<script>alert('verifique el captcha')</script>";
echo "<script>location.href='contact.html';</script>";
}
?>
Así tengo declarado todo todo es visible pero siempre me devuelve que esta mal que verifique el captcha, he probado de varias maneras y siempre me pasa lo mismo, o lo envía siempre o siempre me pide que verifique captcha
a ver si podeis echarme una mano, gracias
Valora esta pregunta


0