.


Divya

How to integrate OTP in Wordpress form with resend option


Integrate OTP in Wordpress form is very easy. Please follow the below step to integrate OTP in your Wordpress form.

Step 1- Edit the page with Visual composer and add create a form using raw html option of Visual composer.

Or

If you don’t have visual composer then try another editor or create a custom html form.

Step 2-In the form action link the process file.

Example :

Raw HTML File

<form method="post" action=" process/contact-process.php">
<input type="text" name="name" placeholder="name"><br><br>
<input type="text" name="email" placeholder="email"><br><br>
<input type="text" name="phone" placeholder="phone"><br><br>
<input type="text" name="message" placeholder="message"><br><br>
<button type="submit" value="submit" name="save">Submit</button>
</form>

Step 3- Create a folder process in public_html and upload the below file list.

  1. contact-process.php
  2. otp.php
  3. database.php

contact-process.php

<?php
session_start();
//Your authentication key
$authKey = "abc13VcIY7WyB582082d3";
//Multiple mobiles numbers separated by comma
$mobileNumber = $_POST["phone"];
//Sender ID,While using route4 sender id should be 6 characters long.
$senderId = "NAYADS";
//Your message to send, Add URL encoding here.
$rndno=rand(100000, 999999);
$message = urlencode("otp number.".$rndno);
//Define route
$route = "route=4";
//Prepare you post parameters
$postData = array(
'authkey' => $authKey,
'mobiles' => $mobileNumber,
'message' => $message,
'sender' => $senderId,
'route' => $route
);
//API URL
$url="https://control.msg91.com/api/sendhttp.php";
// init the resource
$ch = curl_init();
curl_setopt_array($ch, array(
CURLOPT_URL => $url,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => $postData
//,CURLOPT_FOLLOWLOCATION => true
));
//Ignore SSL certificate verification
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
//get response
$output = curl_exec($ch);
//Print error if any
if(curl_errno($ch))
{
echo 'error:' . curl_error($ch);
}
curl_close($ch);
if(isset($_POST['save']))
{
$_SESSION['name']=$_POST['name'];
$_SESSION['email']=$_POST['email'];
$_SESSION['phone']=$_POST['phone'];
$_SESSION['message']=$_POST['message'];
$_SESSION['otp']=$rndno;
//echo "success";
header( "Location: otp.php" );
}
?>
otp.php

otp.php

<?php
session_start();
include_once 'database.php';
if(isset($_POST['save']))
{
$rno=$_SESSION['otp'];
$urno=$_POST['otpvalue'];
if(!strcmp($rno,$urno))
{
$name=$_SESSION['name'];
$phone=$_SESSION['phone'];
$email=$_SESSION['email'];
$message=$_SESSION['message'];
date_default_timezone_set("Asia/Calcutta");
$date_time= date("Y-m-d H:i:s");
// Create connection
$sql = "INSERT INTO contact (name,email,phone,message,date_time)
VALUES ('$name','$email','$phone','$message','$date_time')";
if (mysqli_query($conn, $sql)) {
$authKey = "abc431ADE9VcIY7WyB582082d3";
$mobileNumber = $phone;
//Sender ID,While using route4 sender id should be 6 characters long.
$senderId = "NAYADS";
//Your message to send, Add URL encoding here.
$message = urlencode("Thank you for contacting us.We will get back to you shortly.");
//Define route
$route = "route=4";
//Prepare you post parameters
$postData = array(
'authkey' => $authKey,
'mobiles' => $mobileNumber,
'message' => $message,
'sender' => $senderId,
'route' => $route
);
//API URL
$url="https://control.msg91.com/api/sendhttp.php";
// init the resource
$ch = curl_init();
curl_setopt_array($ch, array(
CURLOPT_URL => $url,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => $postData
//,CURLOPT_FOLLOWLOCATION => true
));
//Ignore SSL certificate verification
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
//get response
$output = curl_exec($ch);
//Print error if any
if(curl_errno($ch))
{
echo 'error:' . curl_error($ch);
}
curl_close($ch);
header( "Location: https://www.nayadarshan.com/success/" );
} else {
echo "Error: " . $sql . "<br>" . mysqli_error($conn);
}
mysqli_close($conn);
return true;
}
else
{
echo "Invalid OTP please try again.";
return false;
}
}
if(isset($_POST['resend_otp']))
{
$authKey = "abc13491ADE9VcIY7WyB582082d3";
//Multiple mobiles numbers separated by comma
$mobileNumber = $_SESSION['phone'];
//Sender ID,While using route4 sender id should be 6 characters long.
$senderId = "NAYADS";
//Your message to send, Add URL encoding here.
$rno=$_SESSION['otp'];
$message = urlencode("OTP number.".$rno);
//echo $rno;
//Define route
$route = "route=4";
//Prepare you post parameters
$postData = array(
'authkey' => $authKey,
'mobiles' => $mobileNumber,
'message' => $message,
'sender' => $senderId,
//'route' => $route
);
//API URL
$url="https://control.msg91.com/api/sendhttp.php";
// init the resource
$ch = curl_init();
curl_setopt_array($ch, array(
CURLOPT_URL => $url,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => $postData
//,CURLOPT_FOLLOWLOCATION => true
));
//Ignore SSL certificate verification
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
//get response
$output = curl_exec($ch);
//Print error if any
if(curl_errno($ch))
{
echo 'error:' . curl_error($ch);
}
curl_close($ch);
}
?>
<!DOCTYPE html>
<html>
<title>Form</title>
<body>
<form action="" method="post">
<input type="text" name="otpvalue"/>
<input type="submit" value="submit" name="save"/>
<input type="submit" value="Resend OTP" name="resend_otp"/>
</form>
</body>
</html>


.