Cách gửi SMS bằng PHP w3schools

OTP là cách xác thực người dùng hiệu quả. Loại xác thực này được áp dụng rộng rãi bởi các ứng dụng ngân hàng, phần mềm thương mại điện tử và nhiều ngành dọc khác. Trong hướng dẫn này, chúng ta sẽ xem cách triển khai xác minh số điện thoại di động OTP SMS bằng PHP

Có nhiều API khác nhau có sẵn trên thị trường để gửi SMS qua một ứng dụng. Trong mã này, tôi đã sử dụng API Textlocal để gửi SMS OTP. Textlocal là một trong những dịch vụ SMS phổ biến. Nó cung cấp dịch vụ SMS cho nhiều ngôn ngữ lập trình. Tải xuống lớp API PHP để tích hợp nó vào nền tảng ứng dụng của chúng tôi

Trong hướng dẫn trước, chúng ta đã biết cách xác minh email và đăng nhập bằng xác thực OTP bằng PHP. Để xác minh số điện thoại di động bằng cách gửi SMS OTP bằng cách sử dụng API Textlocal, chúng tôi cần tạo tài khoản Textlocal và đăng nhập bằng để lấy khóa API. Khóa API này được sử dụng sau này trong khi khởi tạo lớp API để gửi SMS

Cách gửi SMS bằng PHP w3schools

Trong ví dụ này, chúng tôi sử dụng hai biểu mẫu HTML. Một là để lấy số điện thoại di động và một là để lấy OTP. Bằng cách gửi các biểu mẫu này, yêu cầu AJAX sẽ được gửi để truy cập PHP để gửi mã OTP và xác thực nó bằng dữ liệu phiên PHP

Nhận Số điện thoại di động để gửi OTP

Đây là trang đích sẽ hiển thị biểu mẫu HTML để xác minh số điện thoại di động của người dùng. Khi gửi số điện thoại di động bằng cách nhấp vào nút gửi OTP, mã AJAX sẽ được thực thi để yêu cầu PHP gửi OTP qua SMS bằng API Textlocal




How to Implement OTP SMS Mobile Verification in PHP with TextLocal




	

Mobile Number Verification

Biểu mẫu HTML để gửi OTP để xác minh

Đây là một dạng HTML khác sẽ được AJAX tải sau khi gửi OTP đến số điện thoại di động của người dùng. Người dùng phải gửi OTP đã nhận qua biểu mẫu này. Mã OTP được tạo được lưu trữ trong một biến phiên PHP. Dữ liệu phiên này sẽ được sử dụng để xác minh OTP đã nhập có chính xác hay không




	

OTP is sent to Your Mobile Number

jQuery AJAX Script để yêu cầu mã xác minh và gửi OTP

Đây là file JavaScript chứa các hàm yêu cầu gửi OTP và xác thực mã PHP qua AJAX. Cả hai hàm này đều gửi tham số hành động thích hợp để thực thi khối mã PHP phù hợp. Phương thức sendOTP() gửi số điện thoại di động và thông số hành động send_otp tới tệp PHP. Tương tự, phương thức verifyOTP() gửi mã OTP do người dùng nhập với tham số hành động tương ứng

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();
			},
			error : function() {
				alert("ss");
			}
		});
	} else {
		$(".error").html('You have entered wrong OTP.')
		$(".error").show();
	}
}

Bộ điều khiển. php

Đây là lớp Trình điều khiển PHP được truy cập thông qua AJAX. Hàm tạo của lớp gọi hàm để xử lý các hành động xác minh di động dựa trên yêu cầu được gửi qua lệnh gọi AJAX. Chức năng này xử lý việc gửi OTP đến một thiết bị di động mục tiêu và xác thực OTP do người dùng nhập vào

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();
?>

Kết quả xác minh di động SMS TextLocal OTP SMS

Đây là ảnh chụp màn hình đầu ra cho các biểu mẫu HTML để lấy số điện thoại di động và mã OTP từ người dùng

Chúng tôi có thể gửi SMS bằng PHP không?

Gửi tin nhắn SMS bằng PHP thông qua API REST. Để gửi tin nhắn SMS đi từ tài khoản Twilio của bạn, bạn cần tạo HTTP POST cho tài nguyên Tin nhắn của Twilio . Sử dụng Thư viện trình trợ giúp Twilio PHP, bạn có thể tạo một phiên bản mới của tài nguyên Thư và chỉ định các tham số Đến, Từ và Nội dung cho thư của bạn.

Làm cách nào để gửi SMS đến điện thoại di động bằng PHP?

Gửi SMS qua email bằng PHP rất đơn giản. Chỉ cần viết số điện thoại@tên miền. com, trong đó số điện thoại là số đích và tên miền là mạng cho Cổng SMS .

Làm cách nào để gửi SMS OTP bằng PHP?

Để tạo OTP gồm bốn chữ số trong khoảng từ 1000 đến 9999, chúng tôi sử dụng hàm PHP rand(). ? php $otp = rand(1000,9999); . Next we proceed to send it as a text message through an SMS Gateway.

Làm cách nào để gửi SMS bằng URL trong PHP?

Gửi SMS 1 chiều bằng PHP . Build the URL to send the message to.