Invisible Recaptcha V3 PHP Example

Complete HTML, JS and PHP Sample on How to get Started with Google Recaptcha V3. The New and Improved Recaptcha V3.

This is a short Recaptcha V3 Example on PHP.  

Add this on Your Header Before closing </head>

<script src="https://www.google.com/recaptcha/api.js?render=siteKeyCode"></script>

<script>
    grecaptcha.ready(function() {
    // do request for recaptcha token
    // response is promise with passed token
        grecaptcha.execute('siteKeyCode', {action:'validate_captcha'})
                  .then(function(token) {
            // add token value to form
            document.getElementById('g-recaptcha-response').value = token;
        });
    });
</script>

On your HTML Form add the following snippets

<input type="hidden" id="g-recaptcha-response" name="g-recaptcha-response">
<input type="hidden" name="action" value="validate_captcha">

On Your Server Side Us the Following Code:

$captcha = $_POST['g-recaptcha-response'];
if(!$captcha){
echo '<h2>Please check the the captcha form.</h2>';
exit;
}
$secretKey = "XXXXXXXXX";
$ip = $_SERVER['REMOTE_ADDR'];

// post request to server
$url = 'https://www.google.com/recaptcha/api/siteverify';
$data = array('secret' => $secretKey, 'response' => $captcha);

$options = array(
'http' => array(
  'header'  => "Content-type: application/x-www-form-urlencodedrn",
  'method'  => 'POST',
  'content' => http_build_query($data)
)
);
$context  = stream_context_create($options);
$response = file_get_contents($url, false, $context);
$responseKeys = json_decode($response,true);

if($responseKeys["success"]) {
//success
} else {	
/error
	echo "Go Away Bot!";
}