YogeshChauhan . com

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 () {
    .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.

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

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 How to check if radio button is checked or not using JavaScript? #2 Solution to “TypeError: ‘x’ is not iterable” in Angular 9 #3 How to add Read More Read Less Button using JavaScript? #4 How to uninstall Cocoapods from the Mac OS? #5 How to Use SQL MAX() Function with Dates? #6 PHP Login System using PDO Part 1: Create User Registration Page

Recently Posted

Jun 16 What are Stored Procedures for SQL Server? Jun 16 What are Class Constants in PHP? Jun 15 A short basic guide on states in React Jun 15 How to define constants in PHP? Jun 15 How to define visibility for a property in PHP? Jun 15 How to use @if and @else in SCSS?

You might also like these

Query to increment or decrement value in MySQL ignoring negative valuesSQL/MySQLIntroduction to Angular modules Part 3: NgModules vs JavaScript modules and Angular librariesAngularMake sure your links have descriptive textUI/UXSQL Inner JoinSQL/MySQLWhat is Hoisting in JavaScript?JavaScript12 URLSearchParams methods in JavaScriptJavaScriptHow to create a Progress Bar using JavaScript?JavaScript:in-range and :out-of-range selector in CSSCSSCREATE DATABASE in PostgreSQLPostgresWhat are Null Sessions?MiscMIN, MAX, COUNT, AVG and SUM in SQLSQL/MySQLIntroduction to components and templates Part 4: Pipes and DirectivesAngular