我想使用jQuery Validation Plugin和带有Session的php创建recaptcha的验证。
我正在使用(https://jqueryvalidation.org/)这个jquery插件进行表单验证,我这样做了。但我想为使用这个插件提交的recaptcha创建验证,但我无法创建它。 使用这些插件的google recaptcha v1.0 Here is a validation。 请帮助我使用此pulgin为google recaptcha v2.0(提交)创建验证。
我也想创建验证使用$ _SESSION,我尝试创建它,在我的(signup-process.php)页面中,我在recrapcha字段下的表单页面中打印会话消息。它无法正常工作:(
====== 请帮助我使用这两种方式为recaptcha创建验证。
<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>
$("#signupForm").validate({
rules: {
name: "required",
},
messages: {
name: "Please enter your name",
}
});
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");
}
答案 0 :(得分: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>