إنشاء صفحة تسجيل دخول حقيقية ليست بالصعوبة التي تتصورها فكل الية تسجيل دخول تتشابه بالاساسيات وربما تختلف من ناحية الجرافيكس او شدة الاجراءات الوقائية, في النهاية كلها تتألف من ثلاث مراحل (ادخال البيانات, التحقق من وجود البيانات في قاعدة البيانات, التصرف في حال وجودها ام عدمه) لاشيء اخر وكلها في غاية السهولة!!
اللغات المستخدمة في الدرس: PHP, SQL, HTML
كما أفترض ان لديك معرفة مسبقة بأساسيات لغة SQL والقليل من PHP .
البرامج المستخدمة: مخدم WAMP، برنامج Adobe Dreamweaver CS5 او اي محرر "كود" برمجي .
الصفحات التي سوف ننشئها :
Index.html
process.php
welcome.html
الخطوة الاولى يجب ان ننشىء جدول في قاعدة البيانات يحتوي على جدول مكون من ثلاثة حقول (id, user, pass) وسندخل بعض المعلومات عن اسماء مستخدمين وكلمات السر كما هو موضح في الصورة:
لقد ادخل معلومات مستخدم واحد كما هو موضح , والان لننتقل الى الخطوة التالية:الخطوة الثانية انشاء الصفحات الثلاث (صفحة استقبال المعلومات, صفحة معالجة المعلومات والتحقق من وجودها في قاعدة البيانات, صفحة الترحيب في حالة كانت المعلومات صحيحة).الان لنبدأ بصفحة استقبال المعلومات وستتكون من حقلين (اسم مستخدم وكلمة السر وزر الارسال) قم بفتح محرر النصوص او برنامج التصميم وقم بكتابة شيفرة HTML التالية :
<div align="center" dir="rtl" style="background-color:#CCC;">
تسجيل الدخول
<br />
<br />
<form action="process.php" method="post">
<label> اسم المستخدم </label>
<input type="text" name="user" /><br /><br />
<label>كلمة السر </label>
<input type="password" name="pass" /><br /><br />
<input type="submit" value="تسجيل دخول" /><br />
<br />
</form><br />
</div>
والان لنأتي الى الصفحة الثانية والاهم (صفحة المعالجة) (process.php)
قم بأنشاء ملف جديد واكتب الكود التالي:
<?php
if (empty($_POST['user']) || empty($_POST['pass'])) {
echo "يرجى ملء كافة الحقول";
} else {
$db_name="test";
mysql_connect("localhost","root","");
mysql_select_db($db_name);
$result=mysql_query("SELECT * FROM `".$db_name."`.`users_info` WHERE `user` = '".$_POST['user']."' AND `pass` = '".$_POST['pass']."' ");
$result_a=mysql_fetch_assoc($result);
if ($result_a==0)
{
echo "هناك خطأ في اسم المستخدم او كلمة السر";
} else {
header("Location: welcome.html");
}
}
?>
في البداية استخدمنا دالة empty للتحقق من عدم خلو اي حقل من البيانات والا سنظهر رسالة الخطأ, بعد ذلك استخدمنا متغير لخزن اسم قاعدة البيانات (في هذه الحالة test ) ثم بواسطة mysql_connect قمنا بالاتصال بالمخدم عن طريق المعلومات بين الاقواس (مخدم محلي) .
بعد ذلك امرنا قاعدة البيانات بالتالي:
SELECT * FROM `".$db_name."`.`users_info` WHERE `user` = '".$_POST['user']."' AND `pass` = '".$_POST['pass']."'
اي استخرج كل البيانات المطابقة لاسم المستخدم المزود وكلمة السر.
من دالة mysql_fetch_assoc($result); قمنا باستخراج الاستعلام ووضعه في متغير حيث ان قيمة الاستعلام دائما تكون منطقية, بعد ذلك نتحقق من القيمة المنطقية المستخرجة من الاستعلام حيث اذا كانت تساوي 0 تعني لايوجد تطابق ولذلك نظهر رسالة الخطأ واما غير ذلك يتم توجيه المستخدم ال رسالة الترحيب عن طريق الدالة header();
من دالة mysql_fetch_assoc($result); قمنا باستخراج الاستعلام ووضعه في متغير حيث ان قيمة الاستعلام دائما تكون منطقية, بعد ذلك نتحقق من القيمة المنطقية المستخرجة من الاستعلام حيث اذا كانت تساوي 0 تعني لايوجد تطابق ولذلك نظهر رسالة الخطأ واما غير ذلك يتم توجيه المستخدم ال رسالة الترحيب عن طريق الدالة header();
حيث دالة $_POST تستخرج المعلومات المرسلة من النموذج السابق.
الان لنجرب ادخال البيانات الصحيحة (اسم المستخدم: admin وكلمة السر: tictactoe):
ولنجرب ادخال معلومات غير صحيحة (مثلا: اسم المستخدم: ali وكلمة السر: password):
أنتهينا ! درس سهل اليس كذلك؟ :)
المثال متوفر للتحميل : https://docs.google.com/open?id=0B38AluNyPIRSMGZadS1GS0NKTTQ
ليست هناك تعليقات:
إرسال تعليق