邮件功能无法使用谷歌验证码

时间:2016-03-28 12:12:17

标签: php jquery

<div class="row">
						<div class="col-xs-12 col-lg-10 col-lg-offset-1">
							<form method="post" action="" name="contactForm" id="contactform" class="clearfix">
								<fieldset>
									<div class="float-left">
										<div class="coolfx fadeInUp">
											<!--<span>*Name<label for="name"></label></span>-->
											<span><input type="text" id="contactName" name="name" placeholder="*Name" class="text" required></span>
										</div>

										<div class="coolfx fadeInUp" >
											<!--<span>*Email<label for="email"></label></span>-->
											<span><input type="email" id="contactEmail" name="email" placeholder="*Email" class="email" required></span>
										</div>

										<div class="coolfx fadeInUp">
											<!--<span>Phone<label for="phone"></label></span>-->
											<span><input type="text" id="contactPhone" name="phonenumber" placeholder="Phone" class="text" required></span>
										</div>
									</div>

									<div class="float-right">
										<div class="contactform message coolfx fadeInUp">
											<!--<span>Message<label for="message"></label></span>-->
											<span><textarea id="contactMessage" placeholder="*Message" name="message" class="textarea" required></textarea></span>
										</div>
									</div>
								</fieldset>
							     <div class="float-right"><div class="g-recaptcha" data-sitekey="6LfsPBgTAAAAAPDkaI1HeSyDm_ecF0iihVsFYBKh"></div></div>
								<div class="coolfx fadeInUp">
 									<input name="send" type="submit" class="submit" id="submit" value="Send Email">
								</div>

<?php

 if(isset($_POST['g-recaptcha-response']))
      $url = 'https://www.google.com/recaptcha/api/siteverify';
   $privatekey = "******************************";// hide for security
     $response = file_get_contents($url."?secret=".$privatekey."&response=".$_POST['g-recaptcha-response']."&remoteip=".$_SERVER['REMOTE_ADDR']);
 $data = json_decode($response);


 if (isset($data->success) AND $data->success==true) {?>


<script type="text/javascript">
$(function() {
$("#contactform .submit").click(function() {
    var data = {
name: $("#contactName").val(),
email: $("#contactEmail").val(),
 phone: $("#contactPhone").val(),
message: $("#contactMessage").val()
 };
  $.ajax({
   type: "POST",
   url: "email.php",
   data: data,
     success: function(){
    $('.success').fadeIn(1000);
      }
   });
   });
  });
</script>


  <?php  }else {
          echo"this is spam"
    }?>

我是j新查询如何在php代码中使用j查询代码,以及如何在提交邮件功能之前验证google验证码无效。

在google captcha正确运行我的代码之前,但现在没有任何工作。

感谢

1 个答案:

答案 0 :(得分:0)

您需要处理email.php中的Captcha。在获取其他发布的字段值之前,您可以检查Capcha响应。另外,请不要忘记您需要发布验证码字段(g-recaptcha-response)值,就像发布姓名,电话,电子邮件和消息一样。