【问题标题】:How to create google reCAPTCHA v2.0 validation using jQuery Validation Plugin and PHP如何使用 jQuery Validation Plugin 和 PHP 创建 google reCAPTCHA v2.0 验证
【发布时间】:2017-01-02 05:22:29
【问题描述】:

我想使用 jQuery Validation Plugin 和 php 为 recaptcha 文件创建验证。

jQuery

我正在使用 (https://jqueryvalidation.org/) 这个 jquery 插件进行表单验证,我这样做了。但我想为使用此插件提交的recaptcha 创建验证,但我无法创建它。 Here is a validation 用于使用这些插件的 google recaptcha v1.0。 请帮助我使用此插件为 google recaptcha v2.0(已归档)创建验证。

PHP

我还想使用 $_SESSION 创建验证,我尝试在我的 (signup-process.php) 页面中创建它,并在我的表单页面中的 recaptcha 字段下打印会话消息。它不工作:(

====== 请帮助我为使用这两种方式提交的 recaptcha 创建验证。

HTML

<form action="signup-process.php" method="post" id="signupForm">
  <input class="form-control" type="text" name="name" id="name">
   <div class="g-recaptcha" data-sitekey="my-key"></div>

 <!--Session validation message-->
  /*<?php if(isset($_SESSION["ReC"]) && !empty($_SESSION["ReC"])){
      echo $_SESSION["ReC"];
       unset($_SESSION["ReC"]); }?> */

     <input class="btn btn-block" type="submit" value="Sign Up" name="submitted">
  </form>

JS

$("#signupForm").validate({
        rules: {
            name: "required",
        },
        messages: {
            name: "Please enter your name",
        }
    });

注册进程.php

if(isset($_POST['g-recaptcha-response'])&& !empty($_POST['g-recaptcha-response'])){

    $secret = "my-key";
    $ip = $_SERVER['REMOTE_ADDR'];
    $captcha = $_POST['g-recaptcha-response'];
    $rsp  = file_get_contents("https://www.google.com/recaptcha/api/siteverify?secret=$secret&response=$captcha&remoteip$ip");

    $arr = json_decode($rsp,TRUE);
    if($arr['success'] == "true"){
        echo 'Done';
    }else{
        echo 'SPam';
} else {
    $_SESSION["ReC"]="Please select captcha";
        header("location:signup.php");
}

【问题讨论】:

  • @Vishnu Bhadoriya,它没有按我的意愿工作。 recaptcha 2 validation 我想要这个验证插件工作,但这是一个高级插件。
  • 你好@Vishnu Bhadoriya,非常感谢它现在正在工作。但我不明白为什么它以前不起作用。再次感谢您的帮助:)

标签: php jquery ajax validation recaptcha


【解决方案1】:

@NK 如果你应用你的 php 验证消息在表单标签的顶部。它会起作用的。

这样

 <!--Session validation message-->
 <?php if(isset($_SESSION["ReC"]) && !empty($_SESSION["ReC"])){
    echo $_SESSION["ReC"];
    unset($_SESSION["ReC"]); }
?>

<form action="signup-process.php" method="post" id="signupForm">
  <input class="form-control" type="text" name="name" id="name">
  <div class="g-recaptcha" data-sitekey="my-key"></div>
  <input class="btn btn-block" type="submit" value="Sign Up" name="submitted">
</form>

【讨论】:

  • 对于这个问题,我无法继续我的工作。现在可以正常工作了:)非常感谢@MD Iyasin Arafat
猜你喜欢
  • 2015-03-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-06-11
  • 2013-02-04
  • 2015-06-15
  • 1970-01-01
相关资源
最近更新 更多