Salve a tutti.
Ho creato questa funzione (basandomi sulla libreria ufficiale di Google) che contatta i server di ReCaptcha con curl e controlla se la risposta inserita dall'utente è corretta.
Purtroppo, anche se tutto funziona bene durante la comunicazione, l'ultima parte che dovrebbe restituire true se a risposta è corretta e false se questa è sbagliata, non funziona: restituisce sempre false.
Ecco il codice:
Codice PHP:
function VerificaCaptcha($answer, $challenge){
$ch = curl_init('http://www.google.com/recaptcha/api/verify');
$values = array('privatekey' => 'xxxxxxx',
'remoteip' => $_SERVER['REMOTE_ADDR'],
'challenge' => $challenge,
'response' => $answer);
curl_setopt($ch, CURLOPT_POSTFIELDS, $values);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); /*questo lo disattivo per controllare se la risposta è davvero corretta*/
$exec = curl_exec($ch);
$result = explode('\n', $exec);
if (trim($result[0]) == 'true'){
return true;}
else {
return false;}
}
Dove sto sbagliando?