برمجة نموذج مبسط لارسال رمز تحقق للجوال بلغة PHP و MYSQL


في شرحنا اليوم سنقوم ببرمجة نموذج "FORM" مبسط لإرسال رسالة تحقق لرقم جوال العميل مكونة من 4 خانات عشوائية  " ***" ومثل هذه الخطوة يحتاجها المبرمج لفلترة عمليات التسجيل الضارة مثل عضويات السبام والعضويات الوهمية وكذلك تجبر العميل على التسجيل برقم جوال مفعل .

الخطوة الأولى :

تشغيل السيرفر المحلي 

الخطوة الثانية:

دخول PHPMYADMIN 
من خلال المسار ( localhost/phpmyadmin)

الخطوة الثالة : 


انشاء قاعدة بيانات باسم verify
انشاء جدول بيانات باسم sms
ادراج الحقول التالية : 
ID النوع INT تلقائي - الطول 11 - مفتاح اساسي -غير متكرر
PIN النوع INT  الطول 11
PHONENUM النوع INT الطول 11
ACTIVE النوع INT  القيمة الافتراضية 0 




الخطوة الرابعة 

ادراج مجلد باسم sms
بداخل  مجلد www او مجلد ملفات الموقع بداخل مسار السيرفر المحلي 

الخطوة الخامسة 

انشاء ملف html  للنموذج  باسم sms.html
يضم الاكواد التالية : 

<!DOCTYPE html>
<html>
<head>
<style type="text/css">
body{background-color: lightblue;}
form{
width:300px;
height: 400px;
position: absolute;
        top: 50%;
        left: 50%;
        margin-right: -50%;
        transform: translate(-50%, -50%); 

background-image: url('https://3.bp.blogspot.com/-yoGIeZq_p00/WrrqsMaCxoI/AAAAAAAA0V4/_ebq4OKl_W0fnerSOFCQ38ClQM7k8t4cQCLcBGAs/s1600/images.png') ;
background-repeat: no-repeat;
}
footer {
     position: fixed;
     left: 0;
     bottom: 0;
     width: 100%;
     background-color: red;
     color: white;
     text-align: center;
}
input[type=phone] {
position: fixed;
left: 20%;
bottom: 50%;
margin-right: -20%;
   transform: translate(-20%, -20%);
width: 50%;
background-color: blue;
color: white;
text-align: center;
}
input[type=submit] {
position: fixed;
left: 20%;
bottom: 40%;
margin-right: -20%;
   transform: translate(-20%, -20%);
width: 50%;
background-color: #4CAF50;
color: white;
text-align: center;
}


</style>
<title>verify your phone number</title>
</head>
<body>

<form action="sms.php" method="POST">
<br><input type="phone" name="phonenum" placeholder="ادخل رقم جوالك">
<br><input type="submit" value="تحقق">
</form>
</body>
<footer>fab2.info code by F_i4i 2018</footer>
</html>

حيث أن :
<form action="sms.php" method="POST">
<br><input type="phone" name="phonenum" placeholder="ادخل رقم جوالك">
<br><input type="submit" value="تحقق">
</form>
منطقة النموذج 

 action="sms.php"
صفحة التوجية 
<input type="phone" name="phonenum" placeholder="ادخل رقم جوالك">
حقل ادخال رقم الجوال
<input type="submit" value="تحقق">
ايقونة التوجية 

المرحلة السادسة : 


 انشاء صفحة الاتصال بقاعدة البيانات بلغة php تضم الاكواد التالية :
<?php
$con = mysql_connect("localhost","root","");
mysql_select_db("verify") OR die('db not connected' .mysql_error());
if (!$con)
{
die('Could not connect: ' .myaql_error());
}
حيث أن :
mysql_select_db("verify")
اسم قاعدة البيانات 

المرحلة السابعة

*اولا تحتاج الى اشتراك بخدمة الرسائل النصية sms عبر احد موزعي الخدمة  بالاضافة الى ضرورة دعمة لخدمة الارسال من خلال رابط url 
ثانيا انشاء صفحة php لرفع البيانات الى القاعدة واسمها sms.php
وتضم الاكواد التالية : 
<style type="text/css">
    body{background-color: lightblue;}
table,tr,td{background-color:white; border: solid 2px;
width: 50%;text-align: center;}
</style>
<?php
require("db.php");
$pin= rand(1000, 9999); // random 4 digit code;
$phonenum=$_POST['phonenum'];
$query="INSERT INTO sms VALUE('','$pin','$phonenum')";
$result=@mysql_query($query);
$un=" username";// معلومات موفر الخدمة قم بالتعديل عليها
$pwd="password";
$senderby="FAB2.INFO";
$msg2=$pin;//نهاية كود موفر الخدمة

if($result)
{
echo "<center><table><tr><th>";
echo "هل رقم الجوال صحيح؟";
echo "</th></tr>";
echo"<tr><td>$phonenum</td></tr>";
echo "<tr><td>";
echo "<a href=http://msegat.com/gw/?userName=$un&userPassword=$pwd&numbers=$phonenum&userSender=$senderby&msg=$msg2&By=Link&msgEncoding=UTF8>نعم ارسل الرمز</a></center>";
echo "</td></tr>";

}
else{echo"not registered";}?>

حيث أن 
require("db.php");
كود استدعاء ملف الاتصال بالقاعدة 
$pin= rand(1000, 9999);
كود مولد الارقام العشوائية بحيث تكون النتيجة مكونة من اربعة ارقام على هذا النحو "****"
$phonenum=$_POST['phonenum'];
كود ربط حقل الرقم من قاعدة البيانات بحقل الارسال في صفحة sms.html

$query="INSERT INTO sms VALUE('','$pin','$phonenum')";
كود ارسال المعلومات المدخلة الى قاعدة البيانات و "sms" هو اسم جدول البيانات

else{echo"not registered";}?>
كود رسالة الخطأ في حال فشل الاتصال 

الخطوة النهائية 

تجربة الاسكربت
نلاحظ تطابق الرقم العشوائي المرسل مع الرقم العشوائي  المخزن بقاعدة البيانات 



تابعوا الدرس القادم حيث ساشرح الية مطابقة الرقم المرسل مع الرقم الموجود بقاعدة البيانات والية التفعيل 


تعليقات

المشاركات الشائعة من هذه المدونة

طريقة حساب الغياب المسموح به قبل الحرمان من المقرر

تجربتي في استخراج بطاقة احوال بدل فاقد

انشاء سكربت php لاإدخال البيانات الى قاعدة بيانات mysql