Пример контактной формы, не работающей с reCAPTCHA

Может ли кто-нибудь помочь мне с этой контактной формой электронной почты? Я совершенно не знаю, что я делаю с этим, и я никогда не делал ничего подобного раньше.

Я работаю с этим примером https://css-tricks.com/examples/NiceSimpleContactForm2/

Я разместил пример по адресу http://www.techagesite.com/contact/index.php< /а>

Я не уверен, что мне нужно сделать, чтобы reCAPTCHA заработала. На самом деле он даже не отображается в версии авторов в Интернете.

Я не знаю, должен ли я публиковать код для всех включенных файлов php или вы можете это сделать из самого примера zip.


person Techagesite    schedule 23.03.2015    source источник
comment
Если есть более простое решение, то, используя это, я с удовольствием попробую.   -  person Techagesite    schedule 23.03.2015


Ответы (1)


Проверьте эту страницу, откуда это беззастенчиво взято:

Из ваших примеров кода видно, что вы пытаетесь создать 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