如何在我的定制动态PHP网站中实现reCAPTCHA?

如何在我的定制动态PHP网站中实现reCAPTCHA?,php,html,recaptcha,Php,Html,Recaptcha,我选择了这个脚本,并检查/验证了reCAPTCHA的工作原理。在这一部分中,我迷失了方向,我必须添加PHP命令“mail to”以通过邮件获取联系表单。请参阅下面的代码。我必须在后面添加“邮件收件人”的内容 if($response->success) { 对吧??但我不知道这是怎么回事。每次我都尝试s.th。对于“if($response->success){”所在的行,我只得到“tryingtogetpropertyofnonobject” 基本上你需要这个结构:如果(验证码是正确

我选择了这个脚本,并检查/验证了reCAPTCHA的工作原理。在这一部分中,我迷失了方向,我必须添加PHP命令“mail to”以通过邮件获取联系表单。请参阅下面的代码。我必须在后面添加“邮件收件人”的内容

if($response->success) {
对吧??但我不知道这是怎么回事。每次我都尝试s.th。对于“if($response->success){”所在的行,我只得到“tryingtogetpropertyofnonobject”



基本上你需要这个结构:
如果(验证码是正确的){do stuff}否则{deny user access}
。我改变了我的问题和代码。现在检查reCAPTCHA可以工作了,但我不知道如何添加“mail to”-东西。
<form class="form-horizontal" action="" name="contactForm" method="post">

<input type="text" name="nickname" class="input_nickname" placeholder="Name" required="required"/>
<input type="email" name="mail" class="input_mail" placeholder="Mail" required="required"/>
<input type="text" name="remotekey" class="input_key" placeholder="REMOTE private key (optional)"/>
<textarea type="text" name="message" class="input_message" placeholder="Message" required="required"/></textarea>


<?php
// google recapcha keys and url
$siteKey = '6LdU2wQTAAAAAN_tSEUEhRPcIc8hc7VpXrKAS7R8';
$secretKey = '6LdU2wQTAAAAABPtl36ax3yHeKCiOKOFfFbAHitJ';
$recaptchaVerifyURL = "https://www.google.com/recaptcha/api/siteverify";

// send request using CURL
function curlRequest($url) {
        $curl = curl_init();
        curl_setopt($curl, CURLOPT_URL, $url);
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($curl, CURLOPT_TIMEOUT, 10);
        curl_setopt($curl, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.16) Gecko/20110319 Firefox/3.6.16");
        $curlData = curl_exec($curl);
        curl_close($curl);
        return $curlData;
}
// get user ip address
function getClientIP() {
     if (isset($_SERVER['HTTP_CLIENT_IP']))
         $ipaddress = $_SERVER['HTTP_CLIENT_IP'];
     else if(isset($_SERVER['HTTP_X_FORWARDED_FOR']))
         $ipaddress = $_SERVER['HTTP_X_FORWARDED_FOR'];
     else if(isset($_SERVER['HTTP_X_FORWARDED']))
         $ipaddress = $_SERVER['HTTP_X_FORWARDED'];
     else if(isset($_SERVER['HTTP_FORWARDED_FOR']))
         $ipaddress = $_SERVER['HTTP_FORWARDED_FOR'];
     else if(isset($_SERVER['HTTP_FORWARDED']))
         $ipaddress = $_SERVER['HTTP_FORWARDED'];
     else if(isset($_SERVER['REMOTE_ADDR']))
         $ipaddress = $_SERVER['REMOTE_ADDR'];
     else
         $ipaddress = 'UNKNOWN';

     return $ipaddress; 
}

// process form request
if(($_SERVER["REQUEST_METHOD"] == "POST") && isset($_POST['submit'])) {

    $recaptchaUserInput = $_POST['g-recaptcha-response'];

    if(empty($recaptchaUserInput)) {

        echo 'Please enter your reCAPTCHA'; 

    } else {

        $userIP = getClientIP();

        $recaptchaVerifyURL .= '?'.http_build_query(array('secret' => $secretKey,'response' => $recaptchaUserInput,'remoteip' => $userIP)); 

        $response = curlRequest($recaptchaVerifyURL);

        $response = json_decode($response);


        if($response->success) {



            // valid request
            // send contact email into to admin via email  or store contact info in database


        } else {
            echo 'Please re-enter your reCAPTCHA';  
        }
    } 

}
?>


<div class="g-recaptcha" data-sitekey="<?php echo $siteKey; ?>"></div>
<button name="submit" type="submit" class="btn btn-default">Submit</button>
</form>