How to Add Captcha in PHP Registration Form
Teams applying “How to Add Captcha in PHP Registration Form” in a production project can use the linked resource to record implementation, review and debugging time, then compare that effort with tests and shipped functionality instead of treating activity as performance by itself.
Before copying the example into a live application, confirm version-specific behaviour with the PHP project and test it against the project’s actual database and runtime.
Dec 15, 2020
Hi Guys,
In this example,I will learn you how to add captcha in php.you can easy and simply use captcha in php.
To add the Google CAPTCHA in PHP HTML Form. In this post, we will show you how to integrate or add google captcha in PHP HTML forms(registration, login, contact form).
Step 1: Create Table In DB by Sql Query
First of all, open your phpmyadmin and run the following sql query. To create table into your selected database:
CREATE TABLE `users1` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(30) NOT NULL,
`email` varchar(100) NOT NULL,
`password` varchar(250) NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `email` (`email`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
Step 2: Create a Database Connection PHP File
In this step, create a file name db.php and add the following code into db.php file:
<?php
$servername='localhost';
$username='root';
$password='';
$dbname = "my_db";
$conn=mysqli_connect($servername,$username,$password,"$dbname");
if(!$conn){
die('Could not Connect MySql Server:' .mysql_error());
}
?>
Step 3: Register your website on Google Re captcha and Get All Details
To add google recaptcha to your website you need to register your website here Google captcha.Then get your site key and secret key.about:blank
Step 4: Create User Registration Form with Captcha Validation In PHP
In this step, create user registration form that named registration.php and add google captcha validation.
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<title>How to Add Captcha in PHP Registration Form</title>
<!-- CSS -->
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css">
<script src="https://www.google.com/recaptcha/api.js" async defer></script>
</head>
<body>
<div class="container mt-5">
<div class="card">
<div class="card-header text-center">
Add Google Captcha in PHP Registration Form
</div>
<div class="card-body">
<form action="validate-captcha.php" method="post">
<div class="form-group">
<label for="exampleInputEmail1">Name</label>
<input type="text" name="name" class="form-control" id="name" required="">
</div>
<div class="form-group">
<label for="exampleInputEmail1">Email address</label>
<input type="email" name="email" class="form-control" id="email" aria-describedby="emailHelp" required="">
<small id="emailHelp" class="form-text text-muted">We'll never share your email with anyone else.</small>
</div>
<div class="form-group">
<label for="exampleInputEmail1">Password</label>
<input type="password" name="password" class="form-control" id="password" required="">
</div>
<div class="form-group">
<label for="exampleInputEmail1">Confirm Password</label>
<input type="password" name="cpassword" class="form-control" id="cpassword" required="">
</div>
<div class="g-recaptcha" data-sitekey="Your Site Key"></div>
<input type="submit" name="password-reset-token" class="btn btn-primary">
</form>
</div>
</div>
</div>
</body>
</html>
Step 5: Create PHP File to Check Captcha and Save User Details
<?php
if(isset($_POST['submit']) && $_POST['g-recaptcha-response']!="")
{
include "db.php";
$secret = 'You Site Key';
$verifyResponse = file_get_contents('https://www.google.com/recaptcha/api/siteverify?secret='.$secret.'&response='.$_POST['g-recaptcha-response']);
$responseData = json_decode($verifyResponse);
if($responseData->success)
{
$name = $_POST['name'];
$email = $_POST['email'];
$pass = $_POST['password'];
mysqli_query($conn, "INSERT INTO users(name, email ,password) VALUES('" . $_POST['name'] . "', '" . $_POST['email'] . "', '" . md5($_POST['password']) . "')");
echo "User registration form with captcha validation has been successfully saved";
}
}
The validate-captcha.php file code will validate your captach and then store user registration data into database table.
- How To Use Php Conditional Statement Example
- How to Check if String Contains Regex in PHP?
- PHP Array_column() Function Example
- PHP Generate List of Random Numbers Between 0 and 100 Example
- How to User Login with Facebook in PHP?
- How to Explode Every Character into Array Using PHP Example?
- PHP Form Validation Tutorial
- PHP Convert XML to JSON Example