.
Divya
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.
OrIf 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 :
<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.
<?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
<?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>
.