В чем вы видите ошибку или проблему здесь?
Оба значения этих полей нужны при передаче для проверки.
Вот у нас, к примеру:
Клиентская сторона (js):
recaptcha_c = $('#recaptcha_challenge_field').val();
recaptcha_r = $('#recaptcha_response_field').val();
И серверная (php, метод небольшого класса для работы с recaptcha):
public static function check()
{
if ( Ts_App::getConfig('recaptcha_enabled') ) {
$recaptchaC = Request::getVar('recaptcha_c');
$recaptchaR = Request::getVar('recaptcha_r');
if ( empty ($recaptchaC) || empty ($recaptchaR) ) {
return false;
} else {
$privkey = Ts_App::getConfig('recaptcha_priv_key');
$remoteip = Request::getIp();
if( $curl = curl_init() ) {
curl_setopt($curl, CURLOPT_URL, 'http://www.google.com/recaptcha/api/verify');
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, "privatekey={$privkey}&remoteip={$remoteip}&challenge={$recaptchaC}&response={$recaptchaR}");
$out = curl_exec($curl);
if ( !$out ) {
return false;
} else {
$responses = explode("\n", $out);
if ( $responses[0] != 'true' ) {
return false;
}
}
curl_close($curl);
}
return true;
}
} else {
return true;
}
}