database
CREATE TABLE `user` ( `id` int(11) NOT NULL, `name` varchar(50) NOT NULL, `phone` varchar(100) NOT NULL, `address` varchar(500) NOT NULL, `otp` int(11) NOT NULL, `date` date NOT NULL DEFAULT current_timestamp() ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; ALTER TABLE `user` ADD PRIMARY KEY (`id`), ADD UNIQUE KEY `email` (`phone`); ALTER TABLE `user` MODIFY `id` int(11) NOT NULL AUTO_INCREMENT; COMMIT;
login.php
API Key ADD
Login with OTP
<?php if(isset($_REQUEST['smtbtn'])){ include("dbcon.php"); $phone = mysqli_real_escape_string($con,$_REQUEST['phone']); $sql = "SELECT * FROM `user` WHERE `phone` = '$phone'"; $run = mysqli_query($con,$sql); $total = mysqli_num_rows($run); if($total===1){ //otp send $otp = rand(1000,9999); $fields = array( "variables_values" => $otp, "route" => "otp", "numbers" => $phone, ); $curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_URL => "https://www.fast2sms.com/dev/bulkV2", CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => "", CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 30, CURLOPT_SSL_VERIFYHOST => 0, CURLOPT_SSL_VERIFYPEER => 0, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => "POST", CURLOPT_POSTFIELDS => json_encode($fields), CURLOPT_HTTPHEADER => array( "authorization: YOUR_API_KEY", "accept: */*", "cache-control: no-cache", "content-type: application/json" ), )); $response = curl_exec($curl); $err = curl_error($curl); curl_close($curl); mysqli_query($con,"UPDATE `user` SET `otp`='$otp' WHERE `phone` = '$phone'"); header("location: otp_check.php?phone=$phone"); }else{ //redirect to registration page header("location: registration.php?phone=$phone"); } } ?>
Mobile No.
Submit
registration.php
API Key ADD
<?php include("dbcon.php"); ?>
Registration - OTP Base
<?php if(isset($_REQUEST['smtbtn'])){ $name = mysqli_real_escape_string($con,$_REQUEST['name']); $phone = mysqli_real_escape_string($con,$_REQUEST['phone']); $address = mysqli_real_escape_string($con,$_REQUEST['address']); $sql = "INSERT INTO `user`(`name`, `phone`, `address`) VALUES ('$name','$phone','$address')"; $run = mysqli_query($con,$sql); if($run==true){ //otp send $otp = rand(1000,9999); $fields = array( "variables_values" => $otp, "route" => "otp", "numbers" => $phone, ); $curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_URL => "https://www.fast2sms.com/dev/bulkV2", CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => "", CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 30, CURLOPT_SSL_VERIFYHOST => 0, CURLOPT_SSL_VERIFYPEER => 0, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => "POST", CURLOPT_POSTFIELDS => json_encode($fields), CURLOPT_HTTPHEADER => array( "authorization: YOUR_API_KEY", "accept: */*", "cache-control: no-cache", "content-type: application/json" ), )); $response = curl_exec($curl); $err = curl_error($curl); curl_close($curl); mysqli_query($con,"UPDATE `user` SET `otp`='$otp' WHERE `phone` = '$phone'"); header("location: otp_check.php?phone=$phone"); }else{ echo "Failed"; } } ?>
Name
Phone
Address
Submit
otp_check.php
OTP CHECK
<?php if(isset($_REQUEST['smtbtn'])){ include("dbcon.php"); $phone = $_REQUEST['phone']; $otp = $_REQUEST['otp']; $sql = "SELECT * FROM `user` WHERE `phone` = '$phone' AND `otp` = '$otp'"; $run = mysqli_query($con,$sql); $total = mysqli_num_rows($run); if($total===1){ //COOKIE SET & REDIRCT INDEX.PHP setcookie("user_phone",$phone, time() + (86400 * 10), "/"); setcookie("user_otp",$otp, time() + (86400 * 10), "/"); header("location: index.php"); }else{ echo "OTP WRONG,TRY AGAIN..."; } } ?>
OTP
Submit
header.php
<?php if(isset($_COOKIE["user_phone"]) AND isset($_COOKIE["user_otp"])){ include("dbcon.php"); $phone = $_COOKIE["user_phone"]; $password = $_COOKIE["user_otp"]; $sql550 = "SELECT * FROM `user` WHERE `phone` = '$phone' AND `otp` = '$password'"; $run550 = mysqli_query($con,$sql550); $total550 = mysqli_num_rows($run550); if($total550===0){ header("location: login.php"); } }else{ header("location: login.php"); } ?>