التخطي إلى المحتوى الرئيسي

انشاء صفحة تسجيل دخول


مستوى الدرس: متوسط

اللغات المستخدمة: PHPSQL, 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();
حيث دالة $_POST تستخرج المعلومات المرسلة من النموذج السابق.

الان لنجرب ادخال البيانات الصحيحة (اسم المستخدم: admin وكلمة السر: tictactoe):

ولنجرب ادخال معلومات غير صحيحة (مثلا: اسم المستخدم: ali وكلمة السر: password):



أنتهينا ! درس سهل اليس كذلك؟ :)


المثال متوفر للتحميل : https://docs.google.com/open?id=0B38AluNyPIRSMGZadS1GS0NKTTQ

تعليقات

‏قال غير معرف…
شرح رائع جدا
جزيتم خيرا
‏قال Amro Photography
هل mysql_query أستخدمها في الاستعلام على جداول أم قاعدة بيانات ؟؟

أنت تبحث على حقول في قاعدة بيانات ؟!
‏قال Amro Photography
هل mysql_query تستخدم للاستعلام عن حقول في جدول ام في قاعدة بيانات ؟؟؟

في خطأ بيظهر لي في السطر ده
‏قال Amro Photography
شكرا يا كبير تم اصلاح الخطأ

أنا عندي الجدول اسمه : login استبدلته مع user_info وشغال زي الفل
‏قال Unknown
Amro Photography
ان دالة mysql_query تستخدم للاستعلام عن حقول داخل جداول معينة وقد قمنا تحديد اسم قاعدة البيانات واسم الجدول في السطر التالي:
SELECT * FROM `".$db_name."`.`users_info`

ماهو نوع الخطأ الذي تواجهه؟
‏قال غير معرف…
شكرا جزيلا اخي
‏قال غير معرف…
طلع عندي خطا بهذا الكود شنو الحل
Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in /customers/e/2/9/bazwaya.com/httpd.www/process.php on line 14 you have error username or password
‏قال ed
طيب كيف اربطو بالمدونة
‏قال zozo
ممكن تشرح كيف انشئ قاعده بيانات ( انا مبتدئ يا اخي)

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

الفرق بين unlocked و locked في الهواتف المحمولة

في بعض الاحيان تلاحظ وجود كلمة unlocked بعد اسم المنتج على علبة الهاتف المحمول, او ربما يسألك البائع اذا ماكنت تريد الهاتف لشبكة اتصالات معينة ام حرا... في بعض الهواتف كهاتف iphone يتوافر نوعان منه locked و unlocked حيث الهاتف المقفل locked   يكون متاحا ويعمل على شبكة اتصالات محددة في بلدك تختارها انت بنفسك ويكون سعر الهاتف المقفل بقدر ربع السعر الحقيقي للهاتف الغير مقفل, وهذا النظام هو صفقات توقع بين شركات الهاتف وشركات الاتصالات, ومن مساوء هذه الاجهزه هو حالما تسافر الى بلد اخر سيتوقف الجهاز عن العمل تماما ولا يمكنك تشغيله على بطاقة شريحة SIM اخرى, لذا سيكون الهاتف عديم الفائدة, اما الهواتف الغير مقفلة unlocked فهي هواتف عادية تعمل على اي نوع من شبكات الاتصالات ويكون سعرها باهض جدا مقارنة بالهواتف المقفلة. 

انشاء نموذج الاتصال بنا

مستوى الدرس:  متوسط اللغات المستخدمة:   PHP ,   HTML  كما أفترض ان لديك معرفة مسبقة بأساسيات لغة PHP   . البرامج المستخدمة:  مخدم  WAMP ، برنامج Adobe Dreamweaver CS5 او اي محرر "كود" برمجي . الصفحات التي سوف ننشئها :   contact.php process.php ان من الصفحات الاساسية في كل موقع هي صفحة تمكن الزائرين من الاتصال بصاحب الموقع, او المدونة او الشركة او غيرها.حيث غالبا هذه الصفحات تتكون من نماذج اتصال مثل (نموذج دردشة, نموذج ارسال رسالة) وغيرها , كما تحتوي على معلومات اتصال اخرى. نماذج الاتصال تستخدم صفحات ديناميكية لمعالجة طلب الاتصال فمثلا لو كان نموذج دردشة مع خدمة الزبائن فمن خلال الصفحة الديناميكية يتم التأكد ما ان كان الموظف متواجد ام لا وعلى هذا الاساس يتم تفعيل صفحة برنامج الدردشة والذي غالبا يكون بلغة  JavaScript . لنركز على نموذج الاتصال الشائع والذي من خلاله يمكنك ارسال رسالة تحتوي على اسمك وبريدك الالكتروني ومحتوى الرسالة الى بريد الشركة او الموقع بدون استخدام خدمات البريد التقليدية... فكيف يعمل؟ سنقوم في هذا الدرس بأنشاء صفحة (اتصل بنا) تحتوي على