ओटीपी उपयोगकर्ताओं को मान्य करने का एक प्रभावी तरीका है। इस प्रकार के सत्यापन का व्यापक रूप से बैंकिंग एप्लिकेशन, ई-कॉमर्स सॉफ़्टवेयर और कई अन्य वर्टिकल द्वारा अनुसरण किया जाता है। इस ट्यूटोरियल में, हम यह देखने जा रहे हैं कि PHP का उपयोग करके ओटीपी एसएमएस मोबाइल नंबर सत्यापन कैसे लागू किया जाए।
एप्लिकेशन के माध्यम से एसएमएस भेजने के लिए बाजार में विभिन्न एपीआई उपलब्ध हैं। इस कोड में, मैंने ओटीपी एसएमएस भेजने के लिए टेक्स्टलोकल एपीआई का उपयोग किया है। टेक्स्टलोकल लोकप्रिय एसएमएस सेवाओं में से एक है। यह कई प्रोग्रामिंग भाषाओं के लिए एसएमएस सेवा प्रदान करता है। इसे हमारे एप्लिकेशन प्लेटफॉर्म में एकीकृत करने के लिए एपीआई पीएचपी क्लास डाउनलोड करें।
पिछले ट्यूटोरियल में, हमने देखा कि how to send otp sms using phpऔर ओटीपी प्रमाणीकरण के साथ लॉगिन करें। टेक्स्टलोकल एपीआई के उपयोग के साथ ओटीपी एसएमएस भेजकर मोबाइल नंबर को सत्यापित करने के लिए, हमें एपीआई कुंजी प्राप्त करने के लिए टेक्स्टलोकल खाता बनाने और लॉगिन करने की आवश्यकता है। इस एपीआई कुंजी का उपयोग बाद में एसएमएस भेजने के लिए एपीआई क्लास को इंस्टेंट करते समय किया जाता है।
Get Mobile Number to Send OTP
इस उदाहरण में, हम दो HTML रूपों का उपयोग करते हैं। एक मोबाइल नंबर प्राप्त करने के लिए और दूसरा ओटीपी प्राप्त करने के लिए है। इन फॉर्मों को जमा करके, AJAX अनुरोध को PHP तक पहुँचने के लिए OTP कोड भेजने और इसे PHP सत्र डेटा के साथ मान्य करने के लिए भेजा जाएगा।
<!DOCTYPE html> <html> <head> <title>How to Implement OTP SMS Mobile Verification in PHP with TextLocal</title> <link href="style.css" type="text/css" rel="stylesheet" /> </head> <body> <div class="container"> <div class="error"></div> <form id="frm-mobile-verification"> <div class="form-heading">Mobile Number Verification</div> <div class="form-row"> <input type="number" id="mobile" class="form-input" placeholder="Enter the 10 digit mobile"> </div> <input type="button" class="btnSubmit" value="Send OTP" onClick="sendOTP();"> </form> </div> <script src="jquery-3.2.1.min.js" type="text/javascript"></script> <script src="verification.js"></script> </body> </html>
jQuery AJAX Script for sending otp sms in php from localhost using textlocal
यह जावास्क्रिप्ट फ़ाइल है जिसमें AJAX के माध्यम से ओटीपी भेजने और सत्यापन PHP कोड का अनुरोध करने के लिए कार्य शामिल हैं। ये दोनों फ़ंक्शन उपयुक्त PHP कोड ब्लॉक को निष्पादित करने के लिए उपयुक्त क्रिया पैरामीटर भेजता है। SendOTP () विधि PHP फ़ाइल में मोबाइल नंबर और send_otp क्रिया पैरामीटर भेजती है। इसी तरह, VerifyOTP () विधि उपयोगकर्ता द्वारा दर्ज किए गए OTP कोड को संबंधित क्रिया पैरामीटर के साथ भेजती है।
function sendOTP() { $(".error").html("").hide(); var number = $("#mobile").val(); if (number.length == 10 && number != null) { var input = { "mobile_number" : number, "action" : "send_otp" }; $.ajax({ url : 'controller.php', type : 'POST', data : input, success : function(response) { $(".container").html(response); } }); } else { $(".error").html('Please enter a valid number!') $(".error").show(); } } function verifyOTP() { $(".error").html("").hide(); $(".success").html("").hide(); var otp = $("#mobileOtp").val(); var input = { "otp" : otp, "action" : "verify_otp" }; if (otp.length == 6 && otp != null) { $.ajax({ url : 'controller.php', type : 'POST', dataType : "json", data : input, success : function(response) { $("." + response.type).html(response.message) $("." + response.type).show(); },
Controller.php for sending otp sms in php from localhost using textlocal
यह PHP नियंत्रक वर्ग है जिसे AJAX के माध्यम से एक्सेस किया जाता है। क्लास कंस्ट्रक्टर AJAX कॉल के माध्यम से भेजे गए अनुरोध के आधार पर मोबाइल सत्यापन क्रियाओं को संभालने के लिए फ़ंक्शन को आमंत्रित करता है। यह फ़ंक्शन लक्ष्य मोबाइल पर ओटीपी भेजने और उपयोगकर्ता द्वारा दर्ज किए गए ओटीपी को मान्य करने की प्रक्रिया करता है।
<?php session_start(); error_reporting(E_ALL & ~ E_NOTICE); require ('textlocal.class.php'); class Controller { function __construct() { $this->processMobileVerification(); } function processMobileVerification() { switch ($_POST["action"]) { case "send_otp": $mobile_number = $_POST['mobile_number']; $apiKey = urlencode('YOUR_API_KEY'); $Textlocal = new Textlocal(false, false, $apiKey); $numbers = array( $mobile_number ); $sender = 'PHPPOT'; $otp = rand(100000, 999999); $_SESSION['session_otp'] = $otp; $message = "Your One Time Password is " . $otp; try{ $response = $Textlocal->sendSms($numbers, $message, $sender); require_once ("verification-form.php"); exit(); }catch(Exception $e){ die('Error: '.$e->getMessage()); } break; case "verify_otp": $otp = $_POST['otp']; if ($otp == $_SESSION['session_otp']) { unset($_SESSION['session_otp']); echo json_encode(array("type"=>"success", "message"=>"Your mobile number is verified!")); } else { echo json_encode(array("type"=>"error", "message"=>"Mobile number verification failed")); } break; } } } $controller = new Controller(); ?>
PHP टेक्स्टलोकल ओटीपी एसएमएस मोबाइल सत्यापन आउटपुट
उपयोगकर्ता से मोबाइल नंबर और ओटीपी कोड प्राप्त करने के लिए एचटीएमएल फॉर्म के लिए यह आउटपुट स्क्रीनशॉट है।