En la parte del formulario tenemos la llamada al script de google y el div propio del dialogo de captcha dentro del form.
Y en la pagina de validación está implementado la validación por el metodo POST con el siguiente codigo:
Código PHP:
Ver original
<?php $ip = $_SERVER['REMOTE_ADDR']; $secretkey = "Mi clave secreta"; $captcha=$_POST[‘g-recaptcha-response’]; $response = file_get_contents('https://www.google.com/recaptcha/api/siteverify?secret='.$secretkey.'&response='.$captcha.'&remoteip='.$ip); echo"<br/><br/>"; echo"<br/><br/>"; echo"<br/><br/>"; if($responsekeys[“success”] === true){ $email_to = "mi correo"; $email_subject = "Contacto desde la web "; // Aquí validamos los datos ingresados por el usuario include ($_SERVER['DOCUMENT_ROOT']) . '/includes/header.php'; include ($_SERVER['DOCUMENT_ROOT']) . '/includes/enviofallido.php'; include ($_SERVER['DOCUMENT_ROOT']) . '/includes/footer.php'; } $email_message = "Detalles del formulario de contacto:\n\n"; $email_message .= "Nombre: " . $username . "\n"; $email_message .= "E-mail: " . $useremail . "\n"; $email_message .= "Mensaje: " . $mensaje . "\n\n"; // Ahora se envía el e-mail usando la función mail() de PHP $headers = 'From: '.$email_to."\r\n".'Reply-To: '.$useremail."\r\n" .'X-Mailer: PHP/' . phpversion(); include ($_SERVER['DOCUMENT_ROOT']).'/includes/header.php'; include ($_SERVER['DOCUMENT_ROOT']).'/includes/enviocorrecto.php'; include ($_SERVER['DOCUMENT_ROOT']).'/includes/footer.php'; } } else{ }
Este mismo codigo funciona en otros sitios, pero yo no consigo que me funcione. los dominios en google estan configurados y las claves estan correctamente introducidas.
El error es que siempre me devuelve false la función file_get_contents.
Alguien tiene alguna pista?