Calificación:
  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
Duda Ayuda para añadir nueva recaptcha de google
#1
Hola, estoy intentando añadir a un formulario html un recaptcha de google pero no soy capaz.

Me podeis ayudar?
Un saludo.
[Imagen: logo_300.png]
#2
El formulario es asi:

Código PHP:
<form action="contacto.php" method="post">
    <
label for="nombre">Nombre:</label>
    <
input id="nombre" type="text" name="nombre" placeholder="Nombre y Apellido" required="" />
    <
label for="email">Email:</label>
    <
input id="email" type="email" name="email" placeholder="[email protected]required="" />
    <
label for="mensaje">Mensaje:</label>
    <
textarea id="mensaje" name="mensaje" placeholder="Mensaje" required=""></textarea>
    <
div class="g-recaptcha" data-sitekey="6LcWDRITAAAAAMD3PCzcqRy6cE952Q5Hpo-zgdnX"></div>
    <
input id="submit" type="submit" name="submit" value="Enviar" />
</
form
[Imagen: logo_300.png]
#3
Hola,

Debes proporcionarle la opción de verificar el captha y de ser correcto e incorrecto que acción debe realizar únicamente con lo que visualizas lo que hace es cargarlo justo en el form.
WWW
#4
(05-12-2015, 08:33 PM)Vicen escribió: Hola,

Debes proporcionarle la opción de verificar el captha y de ser correcto e incorrecto que acción debe realizar únicamente con lo que visualizas lo que hace es cargarlo justo en el form.

si. he metido lo que veo en algun tuto pero no me termina de funcionar.

Código PHP:
if(isset($_POST['submit'])){
        
        
$secret "---secret---";
        
$ip $_SERVER["REMOTE_ADDR"];
        
$captcha $_POST["g-recaptcha-response"];
        
$result file_get_contents("https://www.google.com/recaptcha/api/siteveify?secret=$secret&response=$captcha&remoteip=$ip");
        
        
$data json_decode($result);
        
        if(isset(
$data->success) && $data->success==true){
            
//True - What happens when user is verified
            
header('Location: contacto.php?CaptchaPass=True');
            
enviarCorreo();    //DEFINIR        
        
}else{
            
//False - NO UTILIZAMOS
            
header('Location: contacto.php?CaptchaFail=True');
        }
        
    } 
[Imagen: logo_300.png]
#5
Exactamente de que modo no te funciona que te muestra después de procesar la información?
WWW
#6
Qué es exactamente lo que no te funciona? "no me termina de funcionar" no ayuda en nada.

He probado la nueva API (no sabía que ya había versión 2 Lengua) y no puedo reproducir tu problema, y es que ni siquiera mencionas cuál es.

Sea como sea, te dejo un ejemplo funcional:

Código:
<?php
/**
* Realiza una petición POST a la API de reCAPTCHA
* @param    string    $secret_key        La llave privada
* @param    string    $response        El valor del campo enviado por POST generado por reCAPTCHA
* @return    object    El objeto JSON
*/
function recaptcha_curl_request($secret_key = '', $response = '') {
    if (empty($secret_key) || empty($response)) {
        trigger_error('La llave secreta y respuesta son obligatorias', E_USER_ERROR);
    }
    
    $ch = curl_init();
    curl_setopt_array($ch, [
        CURLOPT_HEADER            => false,
        CURLOPT_RETURNTRANSFER    => true,
        CURLOPT_AUTOREFERER        => true,
        CURLOPT_CONNECTTIMEOUT    => 60,
        CURLOPT_TIMEOUT            => 60,
        CURLOPT_MAXREDIRS        => 3,
        CURLOPT_ENCODING        => '',
        CURLOPT_POST            => true,
        CURLOPT_URL                => 'https://www.google.com/recaptcha/api/siteverify',
        CURLOPT_POSTFIELDS        => ['secret' => $secret_key, 'response' => $response],
    ]);
    $reply = curl_exec($ch);
    curl_close($ch);
    
    return $reply;
}

if (isset($_POST['submit'])) {
    $json = recaptcha_curl_request('XXXXXXXXXXXXXXX', $_POST['g-recaptcha-response']);
    $recaptcha = json_decode($json);
    
    if ($recaptcha->success) {
        // Lo que desees hacer
    }
}
?>
<!DOCTYPE html>
<html>
    <head>
        <title>reCAPTCHA</title>
    </head>
    <body>
        <form action="/" method="POST">
            <div class="g-recaptcha" data-sitekey="YYYYYYYYYYYYYYY"></div>
            <br/>
            <input name="submit" type="submit" value="Submit">
        </form>
        
        <?php if (!empty($json)): ?>
        <fieldset>
            <legend>Debug</legend>
            <pre><code><?php echo $json; ?></code></pre>
        </fieldset>
        <?php endif; ?>
        
        <script src='https://www.google.com/recaptcha/api.js'></script>
    </body>
</html>

Remplaza las XXXXXXXXXXXXXXX por tu secret key y YYYYYYYYYYYYYYY por tu site key
WWW
#7
Justo lo que dice @Vicen, ¿Qué error te da?, ¿Hay algún log con alguna información relevante?

Saludos
[Imagen: bann.png]
WWW
#8
(07-12-2015, 05:56 PM)Taquion escribió: Justo lo que dice @Vicen, ¿Qué error te da?, ¿Hay algún log con alguna información relevante?

Saludos

No me valida el captcha y no me manda email.
Voy a probar con el codigo que me habeis pasado.
[Imagen: logo_300.png]
#9
(07-12-2015, 11:45 PM)fercol escribió:
(07-12-2015, 05:56 PM)Taquion escribió: Justo lo que dice @Vicen, ¿Qué error te da?, ¿Hay algún log con alguna información relevante?

Saludos

No me valida el captcha y no me manda email.
Voy a probar con el codigo que me habeis pasado.


Pero entonces sera porque algo no estas poniendo en su sitio correctamente, comprueba con el código que te pasaron si resolvieron tu problema.
WWW
#10
Lo he conseguido con el codigo.
Lo siento por no haber contestado antes esque he estado a mil cosas.
Muchas gracias a todos por la ayuda.
Os dejo +1.
un saludo.


Se puede cerrar tema.
[Imagen: logo_300.png]


Posibles temas similares...
Tema Autor Respuestas Vistas Último mensaje
  Mi nueva aplicación Posits 12 599 01-09-2017, 02:24 AM
Último mensaje: ReyNexo23
  [Aporte] Google Made With Code carlsmartg 3 389 29-05-2017, 08:11 PM
Último mensaje: brettavz
  CONECTAR Y LISTAR ARCHIVOS DE GOOGLE DRIVE CON PHP khristia 1 629 16-08-2016, 08:29 PM
Último mensaje: efbsfcd
  GOOGLE MAPS API V3: INTRODUCCION khristia 2 450 16-08-2016, 08:28 PM
Último mensaje: efbsfcd
  GOOGLE CHARTS: INTRODUCCION A LA VISUALIZACION DE DATOS, GRAFICAS, MAPAS Y MAS khristia 2 581 16-08-2016, 08:27 PM
Último mensaje: efbsfcd
Estrella [Aporte] La nueva generación de jQuery tendrá cambios en su nomenclatura carlsmartg 1 406 03-08-2016, 09:23 PM
Último mensaje: Boreas
  ¿ por que google chrome es incomtaible con java a partir del 2015? dormio 0 300 30-11-2015, 01:29 PM
Último mensaje: dormio
  reCAPTCHA: fácil para humanos, ¿difícil para bots? Kevin9908 3 434 30-06-2015, 08:13 PM
Último mensaje: garcon
  Cambio Algoritmo Google asociado a Móviles Celulares canpios 5 535 02-06-2015, 08:01 AM
Último mensaje: efbsfcd
  Cómo saber mi ID de Facebook, Twitter, y Google+ imgur 0 494 04-12-2014, 05:39 AM
Último mensaje: imgur



Usuarios navegando en este tema: 1 invitado(s)