Yogesh Chauhan's Blog

How to add recaptcha version 3 to PHP website?

in PHP on March 19, 2021

You are going to need recaptcha keys to get started on this. Get it from Google here.

Step 1: JavaScript

Add this JavaScript code between your head tags using script tag or include a seperate .js file in head tags.



grecaptcha.ready(function () {
  grecaptcha
    .execute("YOUR_RECAPTCHA_SITE_KEY", { action: "contact" })
    .then(function (token) {
      var recaptchaResponse = document.getElementById("recaptchaResponse");
      recaptchaResponse.value = token;
    });
});


Step 2: HTML form

Add this line after your submit button but before the form tag ends.



 <form>
    ...
    ...
   <button type="submit">Submit</button>
   <input type="hidden" name="recaptcha_response" id="recaptchaResponse">
 </form>


Step 3: PHP

Use this code for server side integration.



<?php // Check if form was submitted:
if ($_SERVER['REQUEST_METHOD'] === 'POST' &#038;&#038; isset($_POST['recaptcha_response'])) {

    // Build POST request:
    $recaptcha_url = 'https://www.google.com/recaptcha/api/siteverify';
    $recaptcha_secret = 'YOUR_RECAPTCHA_SECRET_KEY';
    $recaptcha_response = $_POST['recaptcha_response'];

    // Make and decode POST request:
    $recaptcha = file_get_contents($recaptcha_url . '?secret=' . $recaptcha_secret . '&#038;response=' . $recaptcha_response);
    $recaptcha = json_decode($recaptcha);

    // Take action based on the score returned:
    if ($recaptcha->score >= 0.5) {
        // Verified - send email
    } else {
        // Not verified - show form error
    }

} ?>


Credit: stevencotterill. Google has nice guides for client side and server side integration as well.


Most Read

#1 Solution to the error “Visual Studio Code can’t be opened because Apple cannot check it for malicious software” #2 How to add Read More Read Less Button using JavaScript? #3 How to check if radio button is checked or not using JavaScript? #4 Solution to “TypeError: ‘x’ is not iterable” in Angular 9 #5 PHP Login System using PDO Part 1: Create User Registration Page #6 How to uninstall Cocoapods from the Mac OS?

Recently Posted

#Apr 8 JSON.stringify() in JavaScript #Apr 7 Middleware in NextJS #Jan 17 4 advanced ways to search Colleague #Jan 16 Colleague UI Basics: The Search Area #Jan 16 Colleague UI Basics: The Context Area #Jan 16 Colleague UI Basics: Accessing the user interface
You might also like these
How to use HTML picture Tag?HTMLWordPress: How to display fields from ACF Flexible Contents?WordPressHow to activate and deactivate hooks in a WordPress plugin?WordPressSlider animation using CSS transform propertyCSSHow to create a simple text and image slider using CSS and JavaScript?CSSIs monitoring an employee’s work on a computer a desirable or undesirable activity?MiscellaneousHow to get ACF values from custom post type?WordPressHow to create a Child Theme in WordPress?WordPressHow to add a Pie Chart in Angular App?AngularList of social media icon logo color codes in HEXMiscellaneousCan We Use For Loop to Loop Through Associative Arrays in PHP?PHP4 different ways to create JavaScript ObjectsJavaScript