الية كتابة الاكواد في لغة sql عند انشاء اي جدول في قاعدة البيانات نقوم بكتابة الامر creat table متبوعا بعلامتي التنصيص ' ' من ثم نقوم بكتابة اسم الجدول باداخلها وكما تلاحظ في الكود السابق استخدمنا login كاسم للجدول للدلالة على "تسجيل الدخول" وبامكانك استبدالها باي اسم ترغب به ولكن قمت بتسميته كذلك لاني ساستخدم هذا الجدول اولا لتخزين بيانات العميل وثانيا لعمل استعلامات برمجية لاحقا وربطها مع هذا الجدول لتسجيل دخول العملاء .
وبالعودة للنص البرمجي لأكوادsql نقوم بعد تحديد اسم الجدول بفتح قوس ( ونكتب بداخله بنية جدول البيانات مثل خلايا الجدول ونوعها وطولها الخ .. حيث طلبنا من قاعدة البيانات ادراج خلايا بداخل الجدول واول خلية خلية هي معرف العميل ورمزت له بـ id بين علامتي التنصيص '' متبوعا بنوع الخلية وهنا حددت النوع int وهذا الاخير في قواعد بيانات sql - يعني ان نوع الحقل رقمي ولا يقبل المدخلات الاخرى- متبوعا بقوسين تحدد الحجم الاقصى للخلية وفي الكود السابق حددنا الطول الاقصى 11 خانة رقمية بمعنا اذا كان العدد اطول من 00000000001 لن يتم تخزينه في الخلية ،وطلبنا من قاعدة البيانات ان لا يكون الحقل فارغ بالعبارة البرمجية not nullحيث نجبر قاعدة البيانات على ضرورة ادراج رقم تعريفي للعميل ولا يمكن ترك الخانة فارغة ،وبين كل خلية والاخرى نضع الفاصلة , للفصل بين الخلايا ، ونقوم بتكرار الخطوات على جميع الخلايا باستثناء النوع وبعض الشروط المطلوب من القاعدة تنفيذها لبناء الجدول فعلى سبيل المثال الحقل password وهو الحقل المسؤول عن تخزين الارقام السرية لحسابات العملاء حددنا نوعه varchar وهذا يعني ان الحقل يقبل تخزين ارقام ونصوص ورموز وحجمه الاقصى 255 خانة وبالمناسبة في قواعد بيانات sql هذا اطول حجم ممكن لتخزين البيانات في خلية واحدة فهنا لانلزم العميل بطول كلمة مرور معينة بل على العكس نتيح له الخيار لتخزين كلمة مرور قد تحتوي على رموز وبطول غير محدود نسبيا والملاحظة المهمة هنا اننا نطلب من قاعدة البيانات عدم قبول اية بيانات فارغه في هذا الجدول لأهمية جميع الحقول ومن ثم نقوم بإغلاق قوس انشاء الحقول) وبعد ذلك نضيف بعض الشروط الهامة
كود تعديل الجدول ALTER TABLE `login قمنا بالطلب من قاعدة البيانات بتعديل الجدول الذي قمنا بتسميته login لاجراء بعض الشروط الهامة على بعض الحقول وهي ADD PRIMARY KEY (`id`), في هذا الشرط طلبنا من قاعدة البيانات اعطاء الحقل id خاصية المفتاح الاساسي للجدول بحيث يكون هو الاساس في الاستعلامات التي قد نجريها لاحقا على الجدول بالاضافة الى اعطاء الحقول الهامة التي يجب ان تخزن قيمة فريدة وغير متكررة مثل اسم المستخدم والبريد الالكتروني بحيث لا يمكن لاي عميل بالتسجيل باسم مستخدم وبريد الكتروني مسجل مسبقا بالنص الشرطي ADD UNIQUE KEY `username` (`username`),
ADD UNIQUE KEY `email` (`email`); واخيرا في السطر الاخير طلبنا كذلك من قاعدة البيانات تعديل الحقل id بحيث يقوم بتخزين معرف بشكل تلقائي وغير يدوي بشكل متسلسل دون تدخل العميل في اختيارقيمة هذا الحقل بالشرط البرمجي AUTO_INCREMENT; بحيث اذا قام بالتسجيل سيتم اعطاء اول عميل يسجل في قاعدة البيانات المعرف 1 والعميل الذي يليه المعرف 2 وهكذا .
والان بعد ان تعرفت على طريقة بناء قاعدة بيانات باسلوب الزراعة سنستكمل بناء الجداول الاخرى بطرقة الواجهة الرسومية
في الجدول السابق قمنا بأنشاء جدول يخزن بيانات العملاء اعلاه ولكن في هذا الجدول سنقوم بتخزين البيانات المتبقيه مثل الاسم الاول واسم العائلة والجنس وتاريخ الميلاد ورقم الجوال وسنقوم بربطها بالجدول السابق من خلال خلية اسم المستخدم وستم شرح الهدف من هذا الجدول لاحقا اثناء بناء صفحات الموقع
نقوم بإنشاء جدول باسم userinformation لتخزين معلومات العملاء بالضغط على اسم قاعدة البيانات من ثم انشاء جدول جديد يضم 8 حقول كما في الامثلة التالية
هذا اخر جدول في شرحنا لهذا اليوم والهدف منه فتح واغلاق صفحة تسجيل مدراء جدد سيتم ربطه برمجيا من خلال درس برمجة لوحة تحكم ادارة الموقع
يتكون هذا الجدول من حقلين فقط id وحالة التسجيل ( مغلق- مفتوح) وسيتم شرح الية عمله بالتفصيل في الجزء المخصص له
وبالعودة الى كود ربط الموقع بقاعدة البيانات نقوم بكتابة متغير اتصال بعد علامة $ وعلامة الدولار دائما تشير الى المتغيرات في لغة php
$connection = mysqli_connect('localhost', 'root', ' ');
متغير الاتصال = mysqli_connect كود ربط الاتصال حيث localhost اسم السيرفر , root اسم المستخدم لقاعدة البيانات وغالبا مايكون root المستخدم الافتراضي يليها كلمة المرور التي قمت باشنائها عند عن تنصيب السيرفر المحلي قم بكتابتها بين علامتي التنصيص " مع مراعاة عدم اضافة اي مسافات اثناء الكتابة
ثم اغلق الاتصلال باغلاق الاقواس مع علامة الفاصلة المنقوطة وهي مهمه دائما في اغلاق الاستعلامات في لغة php ;
بعد ذلك نقوم باضافة شرط برمجي if() بمعنا في حالة عدم حدوث اتصال نقوم بتحديد الاجراء بين القوسين {} حيث ان علامة ! تعني not في اغلب لغات البرمجة وهي حرف نفي برمجي
die("Database Connection Failed" . mysqli_error($connection));
ستقوم الصفحة بطباعة الجملة التالية (فشل الاتصال) Database Connection Failed وفي حال ضهرت لك هذه الجملة التحذيرية تاكد من المعلومات المدخلة في الاتصال
بعد اغلاق قوس الشرط }
نقوم بكتابة استعلام قاعدة البيانات في حال كان الاتصال بالسيرفر ناجح
$select_db = mysqli_select_db($connection, 'order');
$select_db
اسم متغير الاتصال بقاعدة البيانات
mysqli_select_db($connection, 'order');
وهذه الجملة البرمجية هي وظيفة المتغير السابق في حالة الاتصال الناجح نطلب منه الاتصال بقاعدة البيانات التي قمنا ببنائها وتحمل اسم order
مرة اخرى نقوم باضافة شرط للتحقق من ان القاعدة المختاره صحيحه في حال كانت صحيحة لن تتم طباعة اي جملة تحذير ولكن في حالة كان الاختيار خاطئ سيتم طباعة جملة التخذير التالية Database Selection Failed
والكائنة داخل جملة الشرط التالية
if(!$select_db){
die("Database Selection Failed" . mysqli_error($connection));
}
مثال مصور للكود داخل برنامج notepad++


تهانينا قمت بكتابة صفحتك الاولى قم بحفظ الملف باسم connect.php
يتبقى التاكد من عمل الكود البرمجي قم بفتح متصفح الويب وقم بكتابة مسار موقعك كالاتي
http://localhost/orders/ connect.php
مثال مصور للتحقق من اتصال قاعدة البيانات ونلاحظ النتيجة صفحة فارغة وهذا يدل على نجاح الاتصال وعدم طباقة جملة تحذيرية

بناء صفحة تسجيل دخول العملاء
لبناء صفحة تسجيل الدخول مزيج بين لغتي برمجة المواقع html وphp ففي الاولي نقوم ببناء هيكل الصفحة الأساسي والثانية نقوم فيها بتنفيذ الديناميكية للصفحة بالإضافة الى تنفيذ الاستعلامات والربط مع قاعدة البيانات بلغة قواعد البيانات sql
أولا بناء هيكلة الموقع بواسطة html
لا يكاد أي موقع على الانترنت ان يخلوا من اكواد هذه اللغة ولكن كذلك لا يمكن في عصرنا الحالي بناء موقع بهذه اللغة فقط لأنها تفتقد الى الديناميكية وفي السابق كانت تستخدم لتصميم صفحات الويب الثابتة فقط اما في مشروعنا الحالي فكما ذكرت سابقا اننا سنحتاجها في بناء الهيكلة الأساسية للموقع واضافة بعض نماذج الادخال ولهذه اللغة بنية أساسية تتكون من رأس الصفحة <head> ومحتوى الصفحة <body> ولا ننسى كودي فتح وسم <html> واغلاقه <html/>
بالإضافة الى وسم النماذج الالكترونية <form> ويرجى ملاحظة ان جميع وسوم هذه اللغة تعمل بنفس المبدأ نبدا بوسم لفتح الكود واخر لا غلاقة مع إضافة العلامة / ومع المثال التالي ستتضح الصورة لديك اكثر
<html>
<head>
<title></title>
</head>
<body>
<form method="post">
</form>
</body>
</html>
ودأما ما نستخدم بداخل وسم head التعليمات البرمجية لكامل الصفحة والتي غالبا ما تكون غير ظاهرة للمتصفح على سبيل المثال تعليمات تصميم الموقع والوصلات المهمة الأخرى ولكن بداخل هذا الوسم نضع وسم مهم وهو وسم عنوان الصفحة <title> ويظهره المتصفح بهذا الشكل
ضع هنا مثال
اما ما نكتبه بداخل وسم < body<
هو ما يهمنا حاليا فلو لاحظت ان وسم النموذج قمنا بكتابته بداخل وسم body
وهو الوسم form وحددنا نوع هذا النموذج بpost وهذا الأخير سنحتاجه لاحقها في عملية الربط بلغة php
الان بعد ان كتبنا الوسم نقوم بكتابة حقول الادخال والتي دئما نبنيها باستخدام الوسم <input>
مثال على حقل ادخال لكتابة اسم المستخدم بداخله
<input type="text" name="username">
ونلاحظ اننا حددنا نوع الادخال "نصي" وحددنا اسمه username هذا الأخير سنستفيد منه لاحقا اثناء عملية الربط
ونقوم بكتابة نفس الكود مع الاختلاف البسيط في نوع الادخال واسم الادخال
<input type="email" name="email">
ونلاحظ هنا حقل الادخال مخصص للبريد الإلكتروني
<input type="password" name="password">
وهذا الحقل مخصص للرقم السري وسنضع بعد كل حقل ادخال وسم <br> ليكون كل حقل ادخال في سطر
الان قم بحفظ الملف باسم reg بصيغة php كما شرحت سابقا وفي حال واجهت أي مشاكل لا تقلق سأقوم بوضع الكود بالكامل عند الانتهاء من بناء الصفحة بالكامل نهاية هذا الجزء

يتبقى الان إضافة زر تسجيل
وزر تسجيل دخول سنقوم بربطه لاحقا مع صفحة تسجيل الدخول عموما سنقوم بإنشاء زر بنفس طريقة الادخال السابقة ولكن سنقوم بتغيير نوع الادخال واسم المدخل
<input type="submit" name ="reg" value="سجل حسابك الان"><br>
<input type="submit" name ="login" value="سجل دخول">
كما تلاحظ استخدمنا نفس كود الادخال ولكن غيرنا النوع الى , submit وهذا الأخير نوع ازرار النقر في لغة html وعادة ما يستخدم مع النماذج فقط
لنشاهد مثال مصور لنتيجة النموذج بعد إضافة الازرار

ربط الفورم بقاعدة البيانات باستخدام php و mysql
أولا نقم بفتح وسم php فوق الفورم
وقوم باستدعاء ملف الربط مع قاعدة البيانات الذي قمنا ببرمجته سابقا باستخدام الكود التالي
require_once('connect.php');
وبعد ذلك نقوم بكتابة دالة شرطية في حالة ضغط المستخدم على زر التسجيل لإجراء بعض الوظائف والاستعلامات البرمجية
if(isset($_POST) & !empty($_POST)){{
بمعنى اذا قام المستخدم بإدخال البيانات وكان النموذج غير فارغ قم بأجراء بعض الوظائف التي سنكتبها باخل قوسي الدالة الشرطية {}
اول وظيفة سنقوم بعملها هي الربط بين حقول الادخال وحقول جدول قاعدة البيانات المخصص للمستخدمين وهو login
وعملية الربط كالاتي :
نقوم بكتابة متغير للمستخدم وهو يمثل نفس الاسم الموجود في حقل قاعدة البيانات بعد ذلك نحدد نوع النموذج post ثم ما يقابله من اسم الادخال في كود html وتلافيا للأخطاء قمت بتعريف المدخل بنفس الاسم الموجود في قاعدة البيانات ليكون كالاتي
$username = mysqli_real_escape_string($connection, $_POST['username']);
ونقوم كذلك بتطبيق نفس الطريقة لحقل البريد وكلمة المرور مع تغيير الأسماء كما سجلناها سبقا
$email = mysqli_real_escape_string($connection, $_POST['email']);
$password = md5($_POST['password']);
مع تغيير كود الربط مع الرقم السري مع إضافة التشفير md5 كما في المثال السابق ليتم تخزينها بشكل مشفر في قاعدة البيانات لزيادة خصوصية كلمة المرور للمستخدم
الان بعد عملية ربط الخلايا
نقوم بعمل استعلام لقاعدة البيانات نطلب منه ارسال البيانات المدخلة وتخزينها في قاعدة البيانات
$sql = "INSERT INTO `login` (username, email, password) VALUES ('$username', '$email', '$password')";
نلاحظ امر الادخال في كود sql السابق هو INSERT INTO `login` بمعنى ادخال البيانات الى جدول محدد وهو login والقيم هي اسم المستخدم وكلمة المرور والبريد بما يقابلنها من أسماء حقول في قاعدة البيانات
مع إضافة كود تحقق ارسال النتائج مع كود الاتصال
$result = mysqli_query($connection, $sql);
مع إضافة دالة شريطة في حالة الاتصال تقوم بطباعة رسالة " تم التسجيل بنجاح وفي حالة الفشل تطبع رسالة فشل التسجيل حاول مرة أخرى"
if($result){
$smsg = "تم التسجيل بنجاح";
}else{
$fmsg = "فشل التسجيل حاول مرة اخرى";
}
وقوم بتحديد موقع كتابة رسائل نجاح التسجيل وفشله في اعلى كود النموذج داخل html ليكون كالاتي
<?php if(isset($smsg)){ ?><div class="alert alert-success" role="alert"> <?php echo $smsg; ?> </div><?php } ?>
<?php if(isset($fmsg)){ ?><div class="alert alert-danger" role="alert"> <?php echo $fmsg; ?> </div><?php } ?>
لنقم بتجربة النموذج بعد الانتهاء من الربط في مثال مصور

ونلاحظ نجاح رفع البيانات الى قاعدة البيانات
صورة من جدول البيانات :
نلاحظ تشفير كلمة المرور بشكل تلقائي وذلك بفضل دالة md5
نقوم الان بتجربة فعالية الكود نقوم أولا بالتسجيل بنفس المستخدم لتحقق من فعالية المفتاح الفريد الذي حددناه سابقا ومره أخرى بمستخدم اخر للتحقق من فعالية النموذج
نلاحظ ارسال البيانات بشكل ناجح وتسجيل عضو جديد وتخزينه في الجدول

الان بعد اكتسابك خبره لابأس بها في عملية الربط بين صفحات موقعك و قاعدة البيانات سننتقل الان لصفحة تسجيل الدخول ولكن قبل ذلك سأضع لك كود صفحة التسجيل لتجربته او التعديل عليه او أي كان هدفك من حضور هذه الدورة
<html>
<head>
<title></title>
</head>
<body>
<?php
require_once('connect.php');
if(isset($_POST) & !empty($_POST)){
$username = mysqli_real_escape_string($connection, $_POST['username']);
$email = mysqli_real_escape_string($connection, $_POST['email']);
$password = md5($_POST['password']);
$sql = "INSERT INTO `login` (username, email, password) VALUES ('$username', '$email', '$password')";
$result = mysqli_query($connection, $sql);
if($result){
$smsg = "تم التسجيل بنجاح";
}else{
$fmsg = "فشل التسجيل حاول مرة اخرى";
}
}
?>
<?php if(isset($smsg)){ ?><div class="alert alert-success" role="alert"> <?php echo $smsg; ?> </div><?php } ?>
<?php if(isset($fmsg)){ ?><div class="alert alert-danger" role="alert"> <?php echo $fmsg; ?> </div><?php } ?>
<form method="post">
<input type="text" name="username"><br>
<input type="email" name="email"><br>
<input type="password" name="password"><br>
<input type="submit" name ="reg" value="سجل حسابك الان"><br>
</form>
</body>
</html>
صفحة تسجيل الدخول
نقوم بعمل نموذج html يحتوي على حقلي ادخال لاسم المستخدم وكلمة المرور وزر تسجيل الدخول بعد ذلك نقوم بعمل نفس عملية الربط السابقة مع بعض الاختلافات التي سأشرحها في هذه المرحلة
بعد عمل النموذج واضافة كود ربط صفحة الاتصال بقاعدة البيانات نقوم بفتح وسم php اعلى النموذج ونقوم بعمل الاتي :
عمل كود بدء الجلسة في حالة كان الاتصال ناجح وغالبا ما يفضل ان يكون اعلى الصفحة
session_start();?>
وفي كود php منفصل
بعد ذلك نقوم بعمل دالة شرطية لربط حقول النموذج بحقول القاعدة وقد تم شرح الالية سابقا
ولكن الاختلاف في استعلام كود sql بحيث يكون عبارة عن جلب للبيانات وليس تخزين للبيانات كما شرحنا في الشرح السابق فهنا ستستخدم الاستعلام select بحيث يكون كالاتي :
sql = "SELECT * FROM `login` WHERE username='$username' AND password='$password'";
$result = mysqli_query($connection, $sql);
$count = mysqli_num_rows($result);
بحيث نقوم بجلب البيانات المخزنة في حال كانت البيانات المدخلة مطابقه للبيانات المخزنة في قاعدة البيانات
ونقوم بعمل دالة شرطية أخرى اذا كانت البيانات مطابقة ==1 أي يوجد نتيجة نطلب من الكود عمل الاتي :
نقوم بعمل جلسة بناء على اسم المستخدم
if($count == 1){
$_SESSION['username'] = $username;
}
وفي حال كانت البيانات غير مخزنة على القاعدة نطلب طباعة جملة خطأ
else{
$fmsg = "<div class='fmsg fmg'>دخول فاشل تاكد من اسم المستخدم او كلمة المرور</div>";
ملاحظة ستلاحظ ان الكود يحتوي على وسم <div> والهدف من ذلك استدعائها في مرحلة التصميم لاحقا وهي ليست إضافة ضرورية للكود في الوقت الحالي لذا وجيب التوضيح
وبعد ذلك نقوم بعمل عملية إعادة توجيه في حال حصلة عملية الاتصال وانشاء الجلسة ونطلب من الصفحة تحويل المستخدم الى صفحة ترحيب وهي حاليا لم يتم انشائه ولكن قمت بعمل هذا الاجراء من باب اختصار الوقت والانتهاء من صفحة تسجيل الدخول بشكل كامل
f(isset($_SESSION['username'])){
$smsg = "<div class='smsg'>دخول ناجح</div>";
echo "
<meta HTTP-EQUIV='REFRESH' content='0; url=welcome.php'/>";
}
ويعني هذا الكود اذا تم انشاء الجلسة نقوم بطباعة جملة دخول ناجح بالإضافة الى إعادة توجيه المستخدم بشكل تلقائي الى صفحة الترحيب
الان قم بإضافة الكود المصدري كاملا وقم بحفظ الصفحة باسم login.php
<?php
session_start();?>
<?php
require_once('connect.php');
if(isset($_POST) & !empty($_POST)){
$username = mysqli_real_escape_string($connection, $_POST['username']);
$password = md5($_POST['password']);
$sql = "SELECT * FROM `login` WHERE username='$username' AND password='$password'";
$result = mysqli_query($connection, $sql);
$count = mysqli_num_rows($result);
if($count == 1){
$_SESSION['username'] = $username;
}else{
$fmsg = "<div class='fmsg fmg'>دخول فاشل تاكد من اسم المستخدم او كلمة المرور</div>";
}
}
if(isset($_SESSION['username'])){
$smsg = "<div class='smsg'>دخول ناجح</div>";
echo "
<meta HTTP-EQUIV='REFRESH' content='0; url=welcome.php'/>";
}
?>
<html>
<?php if(isset($smsg)){ ?><div class="alert alert-success" role="alert"> <?php echo $smsg; ?> </div><?php } ?>
<?php if(isset($fmsg)){ ?><div class="alert alert-danger" role="alert"> <?php echo $fmsg; ?> </div><?php } ?>
<form method="post">
<input type="text" name="username" placeholder="username"><br>
<input type="password" name="password" placeholder="password"><br>
<input type="submit" name="submit" value="سجل دخول">
</form>
</html>
الرسالة التي ستظهر في حالة ادخال بيانات غير مسجلة من قبل

اما اذا ظهرت هذه الصفحة فالدخول ناجح ولكنه قام بتحويلنا بشكل مباشر الى صفحة الترحيب التي نم نقم ببنائها بعد

صفحة الترحيب
الهدف من هذه الصفحة الترحيب بالعضو وقد تكون الصفحة الرئيسية في صفحة بيانات العضو هنا سنقوم بوضع صفحات نماذج استكمال البيانات وبعض الميزات التي لا يمكن للزوار الحصول عليها
أولا سنقوم بعمل صفحة جديدة باسم welcome.php ثم نربط بيانات الجلسة في هذه الصفحة
<?php
session_start();
if (isset($_SESSION['username'])) {
?>
بعد ذلك سنقوم بطباعة جملة ترحيب بالعضو بالإضافة الى إضافة زر تسجيل الخروج
$user = $_SESSION['username'];
echo"مرحبا $user ";
echo"<a href='logout.php'><img src='images/logout.png' width=20px height =20px ></a>";
سنلاحظ انه عند الضغط على زر الخروج في المرحلة الحالية لن يعمل بسبب اننا لم نقم ببرمجة زر الخروج بعد ولكن قمنا بتجهيز الرابط من الان وسنقوم باستكماله في المرحلة التالية لمرحلة الترحيب بالعضو
بعد ذلك سنطلب من العضو استكمال بياناته مثل الاسم الأول والأخير وتاريخ الميلاد ورفعها في الجدول المخصص لها الذي قمنا ببنائه مسبقا
ولكن لا نريد ان يظهر نموذج استكمال البيانات اذا كان المستخدم مسجل من قبل لذلك سنقوم أولا بأجراء استعلام بواسطة اسم العضو ومطابقته مع جدول معلومات المستخدم اذا كانت بيانته مكتملة فلن يظهر له النموذج اما اذا كان عكس ذلك سيتم عرضه لاستكمال البيانات فالحل الأفضل في هذه الحالة ان نجري الاستعلام أولا ثم اظهار النموذج
ولكن قبل ذلك سنقوم بعمل صفحة اتصال جديده ونقوم بتسميتها db.php وسنضع بداخلها كود الاتصال التالي
<?php
$servername = "localhost";
$username = "root";
$password = "الرقم السري لقاعدة البيانات";
$dbname = "order";
// Create connection
$conn = new mysqli ($servername, $username, $password, $dbname );
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}?>
وبعد حفظه نقوم باستدعائه لصفحة الترحيب باستخدام الكود التالي
require("db.php");
بعد ذلك سنقوم بعمل استعلام اذا كان العضو قد قام بإدخال بياناته في صفحة استكمال البيانات من قبل بواسطة المقارنة باسم المستخدم في الجلسة واسم المستخدم في الجدول :
$sql="select * from userinformation where username = '".$_SESSION['username']."'";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
وفي حالة كانت النتيجة اكبر من 0 في الجدول بمعنى توجد بيانات سنقوم بطباعة جملة تهنئة
echo "<br>تهانينا بياناتك مكتملة <img src='images/complete.png' width=30px height =30px >"
وسنقوم بفتح ايقونة جديدة تتيح له تقديم طلبه للمختصين
echo "<a href='mycase.php'> قدم طلبك للمختصين <img src='images/explane.png' width=30px height =30px > </a>";
اما اذا لم يقوم المستخدم باستكمال بياناته سنطلب منه تعبئة نموذج البيانات الشخصية أولا
باستخدام دالة else
else{echo "<br>يرجى إستكمال بياناتك لخدمتك بشكل أفضل <img src='images/Reg-online.png' width=30px height =30px > ";
include 'insertuserdata.php';}
هنا الان انتيهنا من هذه الصفحة ولكن نلاحظ اننا ادرجنا روابط صفحات لم نقم ببنائها بعد لذلك قبل ان نقوم بتشغيل الصفحة يتوجيب علينا بناء هذا الصفحات أولا
صفحة تسجيل الخروج
قم بفتح ملف جديد وقم بتسميته logout.php
وقم بكتابة الاكواد التالية بداخله
<?php
session_start();
session_destroy();
header('location: login.php');
?>
بحيث نطلب من هذه الصفحة تدمير بيانات الجلسة وتحويل المستخدم مجددا الى صفحة تسجيل الدخول
صفحة استكمال البيانات
قم بانشاء صفحة جديدة باسم
'insertuserdata.php
وهنا سنقوم ببناء نموذج كما شرحنا سابقا وكود ادخال البيانات الى القاعدة مع تغيير اسم الجدول فقط ولا يوجد ما ميميز هذا النموذج فقد تم شرح نماذج مشابهه في الأعلى
<?php
if (isset($_SESSION['username'])) {
?>
<form method="POST">
<label for="input FIRST NAME" class="sr-only" hidden="">username</label>
<input type="text" name="username" id="inputEmail" class="form-control" value="<?php echo $user;?>" required autofocus readonly="" hidden =""><br>
<label for="input FIRST NAME" class="sr-only">اسمك </label>
<input type="text" name="firstname" id="inputEmail" class="form-control" placeholder="الاسم الأول " required autofocus>
<label for="input FIRST NAME" class="sr-only">اسم الاب</label>
<input type="text" name="middlename" id="inputEmail" class="form-control" placeholder="اسم الاب" required autofocus>
<label for="input FIRST NAME" class="sr-only">اسم العائلة</label>
<input type="text" name="lastname" id="inputEmail" class="form-control" placeholder="اسم العائلة" required autofocus>
<br>
<label for="input FIRST NAME" class="sr-only">الجنس</label>
<select name="gender">
<option>ذكر</option>
<option>انثى</option>
</select><br>
<label for="input FIRST NAME" class="sr-only">تاريخ الميلاد</label>
<input type="date" name="dateofbirth" id="inputEmail" class="form-control" required autofocus>
<br><label for="input FIRST NAME" class="sr-only">رقم الجوال</label>
<input type="number" name="phonenumber" id="inputEmail" class="form-control" placeholder="966555555555" required autofocus>
<input type="submit" name="submit" value="سجل بياناتك">
</form>
<?php
require_once('connect.php');
if(isset($_POST) & !empty($_POST)){
$username = mysqli_real_escape_string($connection, $_POST['username']);
$firstname = mysqli_real_escape_string($connection, $_POST['firstname']);
$middlename = mysqli_real_escape_string($connection, $_POST['middlename']);
$lastname = mysqli_real_escape_string($connection, $_POST['lastname']);
$gender = mysqli_real_escape_string($connection, $_POST['gender']);
$dateofbirth = mysqli_real_escape_string($connection, $_POST['dateofbirth']);
$phonenumber = mysqli_real_escape_string($connection, $_POST['phonenumber']);
$sql = "INSERT INTO `userinformation` (username, firstname, middlename,lastname,gender,dateofbirth,phonenumber) VALUES ('$username', '$firstname', '$middlename','$lastname','$gender','$dateofbirth','$phonenumber')";
$result = mysqli_query($connection, $sql);
if($result){
echo "تم حفظ بياناتك بنجاح ";
$page = $_SERVER['PHP_SELF'];
$sec = "5";
echo "جاري رفع بياناتك خلال خمس ثواني";
}else{
echo "يوجد مشكلة في رفع بياناتك حاول مره ارخرى";
}
}
?>
<html>
<head>
<meta http-equiv="refresh" content="<?php echo $sec?>;URL='<?php echo $page?>'">
</head>
<body>
<?php
?>
</body>
</html>
<?php
} else {
?>
Not logged in HTML and code here
<?php
}?>
صفحة تقديم الطلبات :
قم بفتح صفحة جديده باسم mycase.php
وهنا سنقوم ببناء نموذج لتعبئة الطلب وسنقوم بربطه بالجدول المخصص مسبقا
كذلك لا يوجد اكواد مميزه جميعها بنفس المبادئ السابقة باستثناء بعض الاكواد المهمة مثل رقم الطلب هنا نريد من الكود اجراء رقم طلب تلقائي بشكل عشوائي للمستخدم وتخزينه في خانه المخصصة في جدول البيانات لذا سنستخدم دالة انشاء الأرقام العشوائية التالية
$randomNumber = rand(100000,999999);
وكذلك سنطلب من الصفحة بعد ادخال البيانات تحديث الصفحة خلال 5 ثواني وطابعة بيانات الطلب في نفس الصفحة كما ستلاحظ فأننا استخدمنا استعلامين مختلفين لنفس الجدول الأول insert والأخر select وستكون إجراءات الطلب للعميل اختياريه بحيث يمكنه تقديم اكثر من طلب ولكن سنقوم بتنبيهه بعدم ارسال طلب جديد في حال كان الطلب مفتوح او تحت الاجراء كذلك سنعرض له اخر طلب فقط في الصفحة باستخدام امر sql التصنيفي التالي ORDER BY id DESC
LIMIT 1;
كذلك سنقوم بتخزين وقت الطلب والتاريخ بشكل تلقائي عند تعريف الربط بين نموذج الادخال وحقول قاعدة البيانات فهذه البيانات يجيب ان تكون تلقائية دون تدخل العميل
$dateofcase=date('Y-m-d H:i:s');
$timeofcase= date_default_timezone_set("Asia/Riyadh");
$timeofcase=date("h:i:sa");
الكود المصدري للصفحة كاملا :
<?php
session_start();
if (isset($_SESSION['username'])) {
?>
<?php
$user = $_SESSION['username'];
echo"مرحبا $user ";
echo"<a href='logout.php'><img src='images/logout.png' width=20px height =20px ></a>";
?>
<!DOCTYPE html>
<html lang="ar" dir="rtl">
<head>
<title></title>
</head>
<body>
<img src="images/undraw_medicine_b1ol.svg" height="200px">
<br>
<h4>هل تريد تسجيل طلب جديد ؟ </h4><br>
<h6>في حال كان طلبك "مفتوح" أو "تحت الإجراء" ينصح بعدم تقديم طلب جديد حتى تكون حالة طلبك "مغلق"</h6>
<form method="POST">
<label for="input FIRST NAME" class="sr-only" hidden="">username</label>
<input type="text" name="username" id="inputEmail" class="form-control" value="<?php echo $user;?>" required autofocus readonly="" hidden="">
<?php
require("db.php");
$sql="select * from userinformation where username = '".$_SESSION['username']."'";
$result = $conn->query($sql);
if ($result->num_rows > 0) {echo "<br>";
while($row = $result->fetch_assoc()) {
echo "<input type ='text' name='firstname' value=";
echo $row['firstname'];
echo " hidden=''>";
echo "<input type ='text' name='lastname' value=";
echo $row['lastname'];
echo " hidden=''>";
echo "<input type ='text' name='phonenumber' value=";
echo $row['phonenumber'];
echo " hidden='' >";
$randomNumber = rand(100000,999999);
}}else{echo "تشير سجلاتنا بانه لا يوجد لديك عنوان مسجل حاليا سجل واحدا من الاعلى ";
}
?>
<input type="text" name="statusofcase" id="inputEmail" class="form-control" value="مفتوح" required autofocus readonly=""hidden="" >
<input type="text" name="caseid" id="inputEmail" class="form-control" value="07<?php echo $randomNumber;?>" required autofocus readonly="" hidden=""><br>
<label for="input FIRST NAME" class="sr-only">قدم طلبك للمختصين</label><br>
<textarea name="mycase" required=""></textarea><br>
<input type="submit" name="submit" value="send">
<a href="welcome.php"> العودة لحسابك</a>
</form>
<?php
require_once('connect.php');
if(isset($_POST) & !empty($_POST)){
$username = mysqli_real_escape_string($connection, $_POST['username']);
$firstname = mysqli_real_escape_string($connection, $_POST['firstname']);
$lastname = mysqli_real_escape_string($connection, $_POST['lastname']);
$dateofcase= date_default_timezone_set("Asia/Riyadh");
$dateofcase=date('Y-m-d H:i:s');
$timeofcase= date_default_timezone_set("Asia/Riyadh");
$timeofcase=date("h:i:sa");
$statusofcase = mysqli_real_escape_string($connection, $_POST['statusofcase']);
$caseid = mysqli_real_escape_string($connection, $_POST['caseid']);
$mycase = mysqli_real_escape_string($connection, $_POST['mycase']);
$phonenumber = mysqli_real_escape_string($connection, $_POST['phonenumber']);
$sql = "INSERT INTO `cases` (username,firstname, lastname,dateofcase,timeofcase,statusofcase,caseid,mycase,phonenumber) VALUES ('$username', '$firstname', '$lastname','$dateofcase','$timeofcase','$statusofcase','$caseid','$mycase','$phonenumber')";
$result = mysqli_query($connection, $sql);
if($result){
echo "تم ادخال طلبك بنجاح";
$page = $_SERVER['PHP_SELF'];
$sec = "5";
echo "Watch the page reload itself in 5 second!";
}else{
echo "فشل ادخال طلبك عاود المحاولة مرة اخرى";
}
}
?>
<html>
<head>
<meta http-equiv="refresh" content="<?php echo $sec?>;URL='<?php echo $page?>'">
</head>
<body>
<?php
?>
</body>
</html>
<h4>طلباتك ا الحالية: </h4>
<?php
require("db.php");
$sql="select * from cases where username = '".$_SESSION['username']."' ORDER BY id DESC
LIMIT 1;";
$result = $conn->query($sql);
if ($result->num_rows > 0) {echo "<br>";
while($row = $result->fetch_assoc()) {
echo "نص الطلب :" . $row["mycase"]. " -حالة الطلب: " . $row["statusofcase"]. " -رقم الطلب: " . $row["caseid"]. "<br>";
}}else{echo "تشير سجلاتنا بانه لا يوجد لديك طلبات سابقة ";
}
بعد وصولك لهذه المرحلة تكون قد اختتمت المرحلة الثانية بالكامل وهي مرحلة برمجة منصة العميل
وفيما يلي امثله مصورة لصفحة تحكم العميل :



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


لوحة تحكم الإدارة
في هذه المرحلة سنقوم ببناء لوحة تحكم الإدارة باستخدام نفس النماذج السابقة ولكن باستخدام جلسة منفصلة لمدير الموقع واضافة صلاحيات على تعديل الطلبات والتواصل مع العملاء من خلال الواتساب بضغطة زر
جميع النماذج تم شرحها مسبقا ولكن سأقوم بشرح بعض الاكواد البرمجية التي لم يتم شرحها سابقا
أولا قم بإنشاء صفحات تسجيل دخول وتسجيل للمدراء وصفحة ترحيب مثل الخطوات السابقة مع بعض التعديلات ولكن سنقوم بأغلاق هذه الصفحة او إعادة فتحها بضغطة زر من مدير الموقع لتلافي أي ثغرات او محاولة تسجيل اشخاص لا يملكون صلاحية الوصول لهذا الصفحة الحساسة
أولا صفحة تسجيل الإدارة
قم بإنشاء مجلد منفصل باسم admincp داخل مجلد المشروع ثم قم بإضافة صفحتي الاتصال السابقة في نفس المجلد ثم قم بإنشاء صفحة جديدة باسم register.php
الان سنقوم بعمل نموذج تسجيل وسنقوم بربط الاستعلامات بجدول تسجيل دخول الإدارة بنفس الخطوات السابقة مع تغيير اسم الجدول فقط ولكن سنقوم بتغيير ربط الحقول باسم الحقول الموجودة في جدول الإدارة
اما الخطوة الجديدة في هذه الصفحة سنقوم بإنشاء استعلام في اعلى الصفحة في كود PHP منفصل مع جدول ALLOW اذا كانت قيمة القيمة المخزنة في الجدول = open سيسمح بتسجيل عضوية إدارية جديدة اما اذا كانت فارغة او close
فتظهر رسالة access denied الان سنتوجه لقاعدة البيانات وسنقوم بأدراج القيمة open حتى نستطيع بعد كتابة البرنامج تسجيل عضوية للمدير


هذه الخطوة سنقوم بأجرائها مرة واحدة فقط وبعد ذلك ستتحدث حالة التسجيل في حالة قام المدير بفتح الصلاحية من لوحة التحكم وسنتطرق لها لاحقا
الان قم بتنفيذ الاستعلام في صفحة التسجيل
require("db.php");
$sql = "SELECT valuereg FROM allow WHERE valuereg='open'";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
echo "التسجيل مفتوح";
وقم بحظ الملف

كما تلاحظ تم فتح التسجيل قم بتسجيل عضوية
كود الصفحة كاملا :
<div class="header">
<h1>لوحة تحكم الإدارة</h1>
</div>
<?php
require("db.php");
$sql = "SELECT valuereg FROM allow WHERE valuereg='open'";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
echo "التسجيل مفتوح";
echo "<br>";
echo '<!DOCTYPE html>
<html>
<head>
<title>User Registration in PHP & MySQL</title>
<!-- Latest compiled and minified CSS -->
<!-- Latest compiled and minified JavaScript -->
<script src="" ></script>
<link rel="stylesheet" type="text/css" href="styles.css">
</head>
<body>
<div class="container">
<?php if(isset($smsg)){ ?><div class="alert alert-success" role="alert"> <?php echo $smsg; ?> </div><?php } ?>
<?php if(isset($fmsg)){ ?><div class="alert alert-danger" role="alert"> <?php echo $fmsg; ?> </div><?php } ?>
<form class="form-signin" method="POST">
<h2 class="form-signin-heading">تسجيل الاداريين</h2>
<div class="input-group">
<span class="input-group-addon" id="basic-addon1">@</span>
<input type="text" name="adminusername" class="form-control" placeholder="adminUsername" required>
</div>
<label for="inputEmail" class="sr-only">Email address</label>
<input type="email" name="email" id="inputEmail" class="form-control" placeholder="Email address" required autofocus>
<label for="inputPassword" class="sr-only">Password</label>
<input type="password" name="password" id="inputPassword" class="form-control" placeholder="Password" required>
<button class="btn btn-lg btn-primary btn-block" type="submit">سجل!</button>
<a class="btn btn-lg btn-primary btn-block" href="login.php">دخول</a>
</form>
</div>
</body>
</html>';
}}else{echo "<center><h2>ACCESS DENIED </h2>";
echo '<img src="images/undraw_access_denied_6w73.svg" height="300px">';
}
?>
<?php
require_once('connect.php');
if(isset($_POST) & !empty($_POST)){
$adminusername = mysqli_real_escape_string($connection, $_POST['adminusername']);
$email = mysqli_real_escape_string($connection, $_POST['email']);
$password = md5($_POST['password']);
$sql = "INSERT INTO `adminlogin` (adminusername, email, password) VALUES ('$adminusername', '$email', '$password')";
$result = mysqli_query($connection, $sql);
if($result){
echo "User Registration successfull";
}else{
echo "User registration failed";
}
}
?>
صفحة تسجيل الدخول
قم بانشاء صفحة جديدة باسم login.phpثم كتابة نموذج مثل الأمثلة السابقة في صفحة الأعضاء مع تغيير اسم الجلسة الى
$_SESSION['adminusername'] وتغيير حقول الادخال بنفس الحقول المضافة في صفحة التسجيل

كود الصفحة :
<?php
session_start();
require_once('connect.php');
if(isset($_POST) & !empty($_POST)){
$adminusername = mysqli_real_escape_string($connection, $_POST['adminusername']);
$password = md5($_POST['password']);
$sql = "SELECT * FROM `adminlogin` WHERE adminusername='$adminusername' AND password='$password'";
$result = mysqli_query($connection, $sql);
$count = mysqli_num_rows($result);
if($count == 1){
$_SESSION['adminusername'] = $adminusername;
}else{
$fmsg = "<div class='fmsg fmg'>تم ضبط محاولة دخول فاشلة وغير مصرح بها </div>";
echo '
<embed src="style/police.mp3" autostart="true" loop="true" height ="0px">
';
}
}
if(isset($_SESSION['adminusername'])){
$smsg = "<div class='smsg'>دخول ناجح</div>";
echo "
<meta HTTP-EQUIV='REFRESH' content='0; url=welcome.php'/>";
}
?>
<div class="container">
<?php if(isset($smsg)){ ?><div class="alert alert-success" role="alert"> <?php echo $smsg; ?> </div><?php } ?>
<?php if(isset($fmsg)){ ?><div class="alert alert-danger" role="alert"> <?php echo $fmsg; ?> </div><?php } ?>
<form class="form-signin" method="POST">
<h2 class="form-signin-heading">منطقة الادارة - تسجيل الدخول</h2>
<div class="input-group">
<span >@</span>
<input type="text" name="adminusername" placeholder="adminUsername" required>
</div>
<label for="inputPassword" class="sr-only">Password</label>
<input type="password" name="password" placeholder="Password" required>
<button class="btn btn-lg btn-primary btn-block" type="submit">دخول</button>
</form>
</div>
</body>
</html>
صفحة الترحيب
قم بانشاء صفحة جديدة باسم welcome.php
في هذه الصفحة لا يوجد أي كود جديد فقط ستكون صفحة ترحيب مع إضافة ايقونات لعرض العملاء وقائمة الطلبات وتسغيل وإيقاف صفحة تسجيل الإدارة وايقونة أخيرة لعرض المدراء المسجلين
وأفترض عند وصولك لهذه المرحلة انك تستطيع عمل ازرار النقر وربطها بصفحاتها
كود الصفحة :
<!DOCTYPE html>
<html lang="ar" dir="rtl">
<head>
<title></title>
</head>
<div class="header">
<h1>لوحة تحكم الإدارة</h1>
<?php
session_start();
if (isset($_SESSION['adminusername'])) {
?>
<?php
$user = $_SESSION['adminusername'];
echo"مرحبا $user";
echo"<a href='logout.php'>سجل خروج</a>";
?>
</div>
<body><center>
<br>
<img src="images/undraw_dashboard_nklg.svg" height="300px">
<br>
<a href="customers.php">قائمة العملاء</a>
<a href="customerscases.php">قائمة الطلبات</a>
<a href="allowadmins.php">تشغيل /تعطيل تسجيل اداري جديد</a>
<a href="admins.php">الاداريين المسجلين واصحاب الصلاحيات</a>
<?php
} else {
?>
Not logged in HTML and code here
<?php
}?>
</html>

سأقوم الان بعرض اكواد الصفحات دفعة واحد ولكن ساشرح نقطة واحدة مهمه صفحة التحكم بتسجيل المدراء لألية عمل الكود
بما اننا سمحنا بتسجيل المدراء من القاعدة سابقا الان سنضيف استعلام يقوم بتحديث حالة الجدول باستخدام امر sql لتحديثات الجداول update عند ضغط اداري الموقع على زر التشغيل او زر الإغلاق
$sql="UPDATE allow
SET valuereg = '$valuereg'
WHERE id = '1'" ;
صفحة عرض العملاء customers.php
<!DOCTYPE html>
<html lang="ar" dir="rtl">
<head>
<title></title>
</head>
<body>
<div class="header">
<h1>لوحة تحكم الإدارة</h1>
<?php
session_start();
if (isset($_SESSION['adminusername'])) {
?>
<?php
$user = $_SESSION['adminusername'];
echo"مرحبا $user";
echo"<a href='logout.php'>سجل خروج</a>";
?>
</div>
<body><center><br>
<img src="images/undraw_personal_info_0okl.svg" height="200px">
<br>
<a href="customerscases.php
">قائمة الطلبات</a>
<a href="welcome.php">العودة للوحة الادارة</a><br><br>
<table><tr><th>اسم المستخدم</th><th>الاسم الأول</th><th>اسم الأب</th><th>اسم العائلة</th><th>الجنس</th><th>تاريخ الميلاد</th><th>رقم الجوال </th><th>العمر</th></tr>
<?php
require("db.php");
$sql="select * from userinformation ORDER BY id DESC;";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
$dob="". $row["dateofbirth"]."";
$diff = (date('Y') - date('Y',strtotime($dob)));
echo "<tr><td>" . $row["username"]. "</td><td>" . $row["firstname"]. "</td><td>" . $row["middlename"]. "</td><td>". $row["lastname"]."</td><td>". $row["gender"]."</td><td>". $row["dateofbirth"]."</td><td>" . $row["phonenumber"]. "</td>"
;
echo "<td>";
echo $diff;
echo "</td>";
echo "<tr>";
}}else{echo "تشير سجلاتنا بانه لا يوجد لديك عنوان مسجل حاليا سجل واحدا من الاعلى ";
}
?>
</table><meta http-equiv="refresh" content="<?php echo $sec?>;URL='<?php echo $page?>'">
<?php
} else {
?>
Not logged in HTML and code here
<?php
}?>
</html>
صفحة عرض الطلبات customerscases.php وتحتوي هذه الصفحة على ايقونة التواصل من خلال الواتساب بضغطة زر
<!DOCTYPE html>
<html lang="ar" dir="rtl">
<head>
<title></title>
</head>
<body>
<div class="header">
<h1>لوحة تحكم الإدارة</h1>
<?php
session_start();
if (isset($_SESSION['adminusername'])) {
?>
<?php
$user = $_SESSION['adminusername'];
echo"مرحبا $user";
echo"<a href='logout.php'>سجل خروج</a>";
?>
</div>
<body><center><br>
<img src="images/undraw_prioritise_tgdh.svg" height="200px">
<br>
<a href="customers.php
">قائمة العملاء</a>
<a href="welcome.php">العودة للوحة الادارة</a><br>
<div id="formadmin">
<form method='POST'>
<label>حدث حالة الطلب</label><select name='updatestatusofcase' required="">
<option>مفتوح</option>
<option>تحت الاجراء</option>
<option>مغلق</option>
</select>
<label>ادخل رقم الطلب </label><input type="text" name="updatecaseid" required="">
<input type='submit' name='update' value='تحديث'>
</form></div><br>
<table><tr><th>اسم المستخدم</th><th>الاسم الأول</th><th>اسم العائلة</th><th>تاريخ تقديم الطلب</th><th>الوقت</th><th>حالة الطلب</th><th>رقم الطلب</th><th>الحالة</th><th>رقم التواصل</th><th>whatsapp</th></tr>
<?php
require("db.php");
$sql="select * from cases ORDER BY id DESC;";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
echo "<tr><td>" . $row["username"]. "</td><td>" . $row["firstname"]. "</td><td>" . $row["lastname"]. "</td><td>". $row["dateofcase"]."</td><td>". $row["timeofcase"]."</td><td>". $row["statusofcase"]."</td><td>" . $row["caseid"]. "</td><td>". $row["mycase"]. "</td><td>" . $row["phonenumber"]. "</td><td><a href='https://wa.me/". $row["phonenumber"]."'>whatsapp</td"
;
echo "<tr>";
}}else{echo "تشير السجلات بانه لا يوجد طلبات مسجلة حتى الان ";
}
?>
<?php
require_once('connect.php');
if(isset($_POST['update'])){
$updatestatusofcase = mysqli_real_escape_string($connection, $_POST['updatestatusofcase']);
$updatecaseid = mysqli_real_escape_string($connection, $_POST['updatecaseid']);
$sql="UPDATE cases
SET statusofcase = '$updatestatusofcase'
WHERE caseid = '$updatecaseid'" ;
$result = mysqli_query($connection, $sql);
if($result){
$page = $_SERVER['PHP_SELF'];
$sec = "5";
echo "تم تحديث الطلب بنجاح فضلا انتظر 5 ثوان";}else{echo "none";}}
?>
</table><meta http-equiv="refresh" content="<?php echo $sec?>;URL='<?php echo $page?>'">
<?php
} else {
?>
Not logged in HTML and code here
<?php
}?>
</html>
صفحة تشغيل واغلاق تسجيل الإداريين :
Allowadmins.php
<!DOCTYPE html>
<html dir="rtl">
<div class="header">
<h1>لوحة تحكم الإدارة</h1>
<?php
session_start();
if (isset($_SESSION['adminusername'])) {
?>
<?php
$user = $_SESSION['adminusername'];
echo"مرحبا $user";
echo"<a href='logout.php'>سجل خروج</a>";
?>
</div><center>
<a href="welcome.php">العودة للوحة الادارة الرئيسية</a><br>
<img src="images/undraw_warning_cyit.svg" height="200px">
<h3 id="waring">
عزيزي الإداري ان اتخاذك لهذا الاجراء يعتبر تحت مسؤليتك الشخصية فعند فتح التسجيل للإداريين او لاي شخص يمكنه الوصول لصفحة التسجيل فانك تمنحه الصلاحية الكاملة بالتحكم بالموقع ، لذا وجب التنويه ويجب عليك كاداري التحقق دائما من اغلاق صفحة تسجيل الاداريين عند الانتهاء
</h3>
<a href="register.php">يجب عليك التحقق من حالة التسجيل من هذا الرابط قبل اتخاذ أي اجراء</a>
<div id="formadmin">
<form method='POST'>
<label>فتح / اغلاق تسجيل الاداريين</label><select name='valuereg' placeholder="select" required="">
<option value="" disabled selected>Select your option</option>
<option value="open">open</option>
<option value="close">close</option>
</select>
<input type="submit" name="update" value="فتح / اغلاق">
<?php
require_once('connect.php');
if(isset($_POST['update'])){
$valuereg = mysqli_real_escape_string($connection, $_POST['valuereg']);
$sql="UPDATE allow
SET valuereg = '$valuereg'
WHERE id = '1'" ;
$result = mysqli_query($connection, $sql);
if($result){
$page = $_SERVER['PHP_SELF'];
$sec = "5";
echo "تم التحديث انتظر 5 ثوان ";
}else{echo "لم يتم الاجراء لوجود مشكلة ما ";}}
?>
<meta http-equiv="refresh" content="<?php echo $sec?>;URL='<?php echo $page?>'">
<?php
} else {
?>
Not logged in HTML and code here
<?php
}?>
</html>
صفحة الإداريين المسجلين وأصحاب الصلاحيات
Admins.php
<!DOCTYPE html>
<html lang="ar" dir="rtl">
<head>
<title></title>
</head>
<body>
<div class="header">
<h1>لوحة تحكم الإدارة</h1>
<?php
session_start();
if (isset($_SESSION['adminusername'])) {
?>
<?php
$user = $_SESSION['adminusername'];
echo"مرحبا $user";
echo"<a href='logout.php'>سجل خروج</a>";
?>
</div>
<body><center><br>
<img src="images/crown-pngrepo-com.png" height="200px">
<br>
<a href="welcome.php">العودة للوحة الادارة</a><br><br>
<table><tr><th>اسم المستخدم للإداري</th><th>البريد الإلكتروني</th></tr>
<?php
require("db.php");
$sql="select * from adminlogin ORDER BY id DESC;";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
echo "<tr><td>" . $row["adminusername"]. "</td><td>" . $row["email"]. "</td>" ;
echo "<tr>";
}}else{echo "يوجد خطا في استخراج البيانات";
}
?>
</table>
<?php
} else {
?>
Not logged in HTML and code here
<?php
}?>
</html>
صور من صفحات لوحة الإدارة :





الفصل الاخير - تصميم الموقع
عذرا هذا الفصل غير مشمول في الباقة المجانية لاستعارض الباقة المدفوعة واستعراض الميزات
او تحميل المنصة كاملة واختصار الخطوات السابقة اضغط هنا
تعليقات
إرسال تعليق
شاركنا الآراء ،،