联系表单示例不与reCAPTCHA一起使用

时间:2015-03-23 05:42:38

标签: css recaptcha contact-form

是否有人能够通过此电子邮件联系表单帮助我? 我完全不知道我对此做了什么,而且之前从未做过类似的事情。

我正在使用此示例https://css-tricks.com/examples/NiceSimpleContactForm2/

我已将示例放在http://www.techagesite.com/contact/index.php

我不知道如何让reCAPTCHA工作。事实上,它甚至没有出现在作者的在线版本上。

我不知道我是否应该发布所有包含的php文件的代码,或者你是否可以从示例zip本身中解决它。

1 个答案:

答案 0 :(得分:1)

Check out this page, which is where this is shamelessly taken from:

从您的代码示例中,您似乎正在尝试在<iframe>中生成recaptcaha。这不会很容易地工作 - 验证码的目的是为您提交一个表单,其中包含您的代码应该验证服务器端的附加值。

只需草拟一个普通的HTML表单(摆脱iframe部分),然后删除创建recaptacha部分的php代码,就像在表单中一样(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。当用户提交表单时,它会被发布到上面action的网址,这是验证capatcha输入的服务器端代码(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
  }
  ?>

那就是它。