【发布时间】: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