2017-04-18 18 views
0

谷歌版ReCAPTCHA我有一些领域的一个PHP的形式和谷歌在数据库表ReCAPTCHA技术领域和价值商店,但我想使所需的谷歌ReCAPTCHA技术领域。 代码在这里:如何使需要在PHP

<?PHP 

if(isset($_POST['submit'])) 
    { 
{ 
     $name=$_REQUEST['name']; 
     $email=$_REQUEST['email']; 
     $message=$_REQUEST['message']; 
     $user_id=$_SESSION['id']; 
     $sql="insert into contact (name,email,message,user_id,status) 
     values('$name','$email','$message','$user_id','1')"; 
     $qex=mysql_query($sql); 
     if(!$qex) 
     { 
      die("Contact information is not Added".mysql_error());  
     } 
     $msgsec="Contact information is Added"; 
?> 

表单代码:

<script src='https://www.google.com/recaptcha/api.js'></script> 


<form id='contactus' method='post' > 
     <input type='hidden' name='submit' id='submit' value='1'/> 
     <label><h2>Your Name <strong style="color:red">*</strong></h2></label> 
      <input type="text" class="form-control" required name="name" id="name" placeholder="Please enter you'r name"/> 
     <label><h2>Your Email <strong style="color:red">*</strong></h2></label> 
      <input type="email" class="form-control" required name="email" id="email" placeholder="Please enter you'r email address"/> 
     <label><h2>Your Message <strong style="color:red">*</strong></h2></label> 
      <textarea class="form-control" required name="message" id="message" placeholder="Please type you'r message here"></textarea> 
     <br /> 
    <div class='container'> 
     <div class="g-recaptcha" data-sitekey="6LevWB0UAAAAAEPIUh40HptW3PxfYFqjvz2Wa05D"></div> 
    </div> 
    <div class='container'> 
     <input type="submit" name="submit" class="btn btn-primary" value="SEND MESSAGE"> 
    </div> 
    </form> 

截至目前不需要谷歌ReCAPTCHA技术选项。表单详细信息始终与提交按钮存储在一起,然后单击captcha或不。我想要制作Google ReCAPTCHA。请检查我的代码并让我知道。我错过了什么。

感谢和问候。 ANKIT

+0

阿贾克斯将在这里是一个有效的解决方案。 [作出要求谷歌ReCAPTCHA技术怎么样?] – Akintunde007

+2

的可能的复制(http://stackoverflow.com/questions/29612879/google-recaptcha-how-to-make-required) –

+0

使用复选框服务器端[新谷歌验证码的可能的复制PHP(http://stackoverflow.com/questions/27274157/new-google-recaptcha-with-checkbox-server-side-php) –

回答

1

这是谷歌的验证码在你的PHP文件验证

<html> 
<script src='https://www.google.com/recaptcha/api.js'></script> 
<?PHP 

/*Site Key and secret key is different thing so change it with ur keys */ 
$errMsg =""; 
if(isset($_POST['submit'])) 
{ 
     if(isset($_POST['g-recaptcha-response']) && !empty($_POST['g-recaptcha-response'])): 
     //your site secret key 

     $secret = '*********************'; 
     //get verify response data 
     $verifyResponse = file_get_contents('https://www.google.com/recaptcha/api/siteverify?secret='.$secret.'&response='.$_POST['g-recaptcha-response']); 
     $responseData = json_decode($verifyResponse); 
     print_r($responseData); 

     $name = !empty($_POST['name'])?$_POST['name']:''; 
     $email = !empty($_POST['email'])?$_POST['email']:''; 
     $message = !empty($_POST['message'])?$_POST['message']:''; 
     $user_id=$_SESSION['id']; 
     if($responseData->success): 
      //contact form submission code 
      $sql="insert into contact (name,email,message,user_id,status) 
      values('$name','$email','$message','$user_id','1')"; 
      $qex=mysql_query($sql); 
      if(!$qex) 
      { 
       die("Contact information is not Added".mysql_error());  
      } 
      $errMsg="Contact information is Added"; 

     else: 
      $errMsg = 'Robot verification failed, please try again.'; 
     endif; 
    else: 
     $errMsg = 'Please click on the reCAPTCHA box.'; 
    endif; 

} 
echo $errMsg ; 
?> 
<body> 
<form id='contactus' method='post' > 
     <input type='hidden' name='submit' id='submit' value='1'/> 
     <label><h2>Your Name <strong style="color:red">*</strong></h2></label> 
      <input type="text" class="form-control" required name="name" id="name" placeholder="Please enter you'r name"/> 
     <label><h2>Your Email <strong style="color:red">*</strong></h2></label> 
      <input type="email" class="form-control" required name="email" id="email" placeholder="Please enter you'r email address"/> 
     <label><h2>Your Message <strong style="color:red">*</strong></h2></label> 
      <textarea class="form-control" required name="message" id="message" placeholder="Please type you'r message here"></textarea> 
     <br /> 
    <div class='container'> 
     <div class="g-recaptcha" data-sitekey="*********************"></div> 
    </div> 
    <div class='container'> 
     <input type="submit" name="submit" class="btn btn-primary" value="SEND MESSAGE"> 
    </div> 
    </form> 
</body> 
</html> 
+0

先生,我已经检查之前尝试这一点,但与显示的形式值存储在数据库表 – Ankit

+0

你必须成功条件储值这没办法。你有检查谷歌验证码或数据保存的问题? –

+0

先生点击提交我的价值观存储在数据库表问题是天气我解决captcha或不形式总是存储值,所以我只是想使captcha被要求。所以客户必须解决captcha存储表格填充值,除非他们得到错误 - “请解决captcha”。 – Ankit

0

添加此

if(isset($_POST['submit'])) 
{ 
if(isset($_POST['g-recaptcha-response']) && !empty($_POST['g-recaptcha-response'])) 
{ 
    $name=$_REQUEST['name']; 
    $email=$_REQUEST['email']; 
    $message=$_REQUEST['message']; 
    $user_id=$_SESSION['id']; 

    $sql="insert into contact (name,email,message,user_id,status) 
    values('$name','$email','$message','$user_id','1')"; 
    $qex=mysql_query($sql); 
    if(!$qex) 
    { 
     die("Contact information is not Added".mysql_error());  
    } 
    $msgsec="Contact information is Added"; 
     } 
    else 
    { 
    //your message for select recaptcha or required 
    } 
    }