• php
  • 1845
  • 20-3-2008
  • سوف يكون درسنا اليوم تطبيق متكامل من ( أ - ي ) واتمنى ان لا اطيل او لا تصعب اي نقطه على اي متعلم مع ارسن :). فكرة برنامجنا هو ان المستخدم يقوم بالتسجيل وبعد ذلك يمكنه اضافة الدروس , وكل درس ينتمى الى قسم معين , واذا كان المستخدم هو صاحب الموقع فيمكنه اضافة قسم لكي تنتمي الدروس اليها. اهداف الدرس: فكرة عمل البرنامج تصميم قاعدة البيانات العلاقات انواع الاعمده في الجداول كيفية عمل الموقع الداله addslashes و stripslashes الداله md5 الشكل النهائي لقاعدة البيانات -------------------------------------------------------------------------------- فكرة عمل البرنامج : سوف يكون درسنا اليوم تطبيق متكامل من ( أ - ي ) واتمنى ان لا اطيل او لا تصعب اي نقطه على اي متعلم مع ارسن :). فكرة برنامجنا هو ان المستخدم يقوم بالتسجيل وبعد ذلك يمكنه اضافة الدروس , وكل درس ينتمى الى قسم معين , واذا كان المستخدم هو صاحب الموقع فيمكنه اضافة قسم لكي تنتمي الدروس اليها. تصميم قاعدة البيانات : لو فكرنا بالبرنامج قليلا فسوف نستنتج اننا نحتاج الى ( درس - موضوع - مستخدم ) اليس ذلك صحيحا ؟ اذا هذه هي قاعدة البيانات الي نحتاجها انظر الى الصوره التالي:
    image
    العــــلاقــــات : العلاقات في برنامجنا سهله , وجميعها من النوع ( 1 - كثير ) اي ( 1 : M ) , لنقم بشرحها الان , كل مستخدم يضيف درس او اكثر اليس هذا منطقيا ؟ فمن المستحيل ان يقوم اكثر من عضو بإضافة الدرس نفسه. كل درس ينتمي الى موضوع معين ويقوم بكتابته عضو واحد. وكل موضوع يحتوي على اكثر من درس ولا يوجد درس يضاف الى اكثر من قسم واحد. لاحظ الصوره التاليه:
    image
    انواع الاعمده في الجداول : الجدول USER : USERS الحقل النوع الخاصيه user_id integer - auto increment primary key user_name varchar(10) unique user_pass varchar(100) user_email varchar(50) unique user_admin enum(0,1) required الجدول LESSON : LESSON الحقل النوع الخاصيه les_id integer - auto increment primary key topic_id integer foreign key user_id integer foreign key les_title varchar(30) - les_text text - الجدول TOPICS : TOPIC الحقل النوع الخاصيه top_id integer - auto increment primary key top_title varchar(30) - top_des text - top_img varchar(100) - كيفية عمل الموقع : نحتاج هنا الى معرفة كيفية تنقل المستخدم بين الصفحات وماهي الصفحات التي نحتاجها انظر الى الصوره التاليه :
    image
    الداله addslashes و stripslashes : بعض النصوص نحتاج ان نقوم بإدخالها الى قاعدة البيانات, اليس ذلك صحيحا ؟ بعض محتويات هذه النصوص عاديه ولكنا قد تكون اوامر في قاعدة البيانات فتقوم بتعطيل قاعدة البيانات او تخريبها , ولذلك نستخدم هذه الدالتين , الداله addslashes قبل ادخل المعلومه الى قاعدة البيانات , وهي تعمل كالتالي:
    image
    نصيحه : ( قم دائما بإستخدام هذه الداله اذا اردت ادخال معلومات الى قواعد البيانات ,, خاصه وان كانت من طرف المستخدم , فلا يمكنك ابدا معرفة ماذا يريد السمتخدم كتابته ) :) الداله md5 : نستخدم هذه الداله لتشفير كلمة مرور المستخدم ثم نضعها في قاعدة البيانات, فلا يصلح ان تقوم بوضع كلمة المرور كما هي , شفرها اولا ثم ادرجها , لاحظ التالي:
    image
    وناتج هذا التشفير ( 123456 ) فهو التالي:
    image
    الشكل النهائي لقاعدة البيانات :
    image
    image
    image
    image
    الـــدرس الــقادم : سوف نقوم في الدرس القادم بكتابة كود البرنامج بالكامل ,, ومعرفة كيفية عمل البرنامج
    كن أول من يقيم الموضوع
    12345