Проверьте эту страницу, откуда это беззастенчиво взято:
Из ваших примеров кода видно, что вы пытаетесь создать recaptcaha в файле <iframe>
. Это не будет работать очень легко - смысл капчи в том, чтобы вы отправили форму с дополнительным значением, которое ваш код должен проверять на стороне сервера.
Просто набросайте обычную HTML-форму (избавьтесь от раздела iframe), а затем поместите свой php-код, который создает часть recaptacha, например, в форме (contact_form.php):
<form method="post" action="verify.php">
<?php
require_once('recaptchalib.php');
$publickey = "your_public_key"; // you got this from the signup page
echo recaptcha_get_html($publickey);
?>
<input type="submit" />
</form>
При рендеринге страницы php заменяется на javascript. Когда пользователь отправляет вашу форму, она отправляется по URL-адресу в action
выше, который является кодом на стороне сервера, который проверяет ввод капачи (verify.php):
<?php
require_once('recaptchalib.php');
$privatekey = "your_private_key";
$resp = recaptcha_check_answer ($privatekey,
$_SERVER["REMOTE_ADDR"],
$_POST["recaptcha_challenge_field"],
$_POST["recaptcha_response_field"]);
if (!$resp->is_valid) {
// What happens when the CAPTCHA was entered incorrectly
die ("The reCAPTCHA wasn't entered correctly. Go back and try it again." .
"(reCAPTCHA said: " . $resp->error . ")");
} else {
// Your code here to handle a successful verification
}
?>
Вот и все.
person
MuffinMan
schedule
23.03.2015