• php
  • 1794
  • 20/3/2008
  • سوف يكون درسنا اليوم تطبيق متكامل من ( أ - ي ) واتمنى ان لا اطيل او لا تصعب اي نقطه على اي متعلم مع ارسن :). فكرة برنامجنا هو ان المستخدم يقوم بالتسجيل وبعد ذلك يمكنه اضافة الدروس , وكل درس ينتمى الى قسم معين , واذا كان المستخدم هو صاحب الموقع فيمكنه اضافة قسم لكي تنتمي الدروس اليها. اهداف الدرس: فكرة عمل البرنامج
    تصميم قاعدة البيانات
    العلاقات
    انواع الاعمده في الجداول
    كيفية عمل الموقع
    الداله addslashes و stripslashes
    الداله md5
    الشكل النهائي لقاعدة البيانات -------------------------------------------------------------------------------- فكرة عمل البرنامج : سوف يكون درسنا اليوم تطبيق متكامل من ( أ - ي ) واتمنى ان لا اطيل او لا تصعب اي نقطه على اي متعلم مع ارسن :). فكرة برنامجنا هو ان المستخدم يقوم بالتسجيل وبعد ذلك يمكنه اضافة الدروس , وكل درس ينتمى الى قسم معين , واذا كان المستخدم هو صاحب الموقع فيمكنه اضافة قسم لكي تنتمي الدروس اليها. تصميم قاعدة البيانات : لو فكرنا بالبرنامج قليلا فسوف نستنتج اننا نحتاج الى ( درس - موضوع - مستخدم ) اليس ذلك صحيحا ؟ اذا هذه هي قاعدة البيانات الي نحتاجها انظر الى الصوره التالي:

    i

    العــــلاقــــات : العلاقات في برنامجنا سهله , وجميعها من النوع ( 1 - كثير ) اي ( 1 : M ) , لنقم بشرحها الان , كل مستخدم يضيف درس او اكثر اليس هذا منطقيا ؟ فمن المستحيل ان يقوم اكثر من عضو بإضافة الدرس نفسه. كل درس ينتمي الى موضوع معين ويقوم بكتابته عضو واحد. وكل موضوع يحتوي على اكثر من درس ولا يوجد درس يضاف الى اكثر من قسم واحد. لاحظ الصوره التاليه:

    i

    انواع الاعمده في الجداول : الجدول 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) -
    كيفية عمل الموقع : نحتاج هنا الى معرفة كيفية تنقل المستخدم بين الصفحات وماهي الصفحات التي نحتاجها انظر الى الصوره التاليه :

    i

    الداله addslashes و stripslashes : بعض النصوص نحتاج ان نقوم بإدخالها الى قاعدة البيانات, اليس ذلك صحيحا ؟ بعض محتويات هذه النصوص عاديه ولكنا قد تكون اوامر في قاعدة البيانات فتقوم بتعطيل قاعدة البيانات او تخريبها , ولذلك نستخدم هذه الدالتين , الداله addslashes قبل ادخل المعلومه الى قاعدة البيانات , وهي تعمل كالتالي:

    i

    نصيحه : ( قم دائما بإستخدام هذه الداله اذا اردت ادخال معلومات الى قواعد البيانات ,, خاصه وان كانت من طرف المستخدم , فلا يمكنك ابدا معرفة ماذا يريد السمتخدم كتابته ) :) الداله md5 : نستخدم هذه الداله لتشفير كلمة مرور المستخدم ثم نضعها في قاعدة البيانات, فلا يصلح ان تقوم بوضع كلمة المرور كما هي , شفرها اولا ثم ادرجها , لاحظ التالي:

    i

    وناتج هذا التشفير ( 123456 ) فهو التالي:

    i

    الشكل النهائي لقاعدة البيانات :

    i


    i


    i


    i


    الـــدرس الــقادم : سوف نقوم في الدرس القادم بكتابة كود البرنامج بالكامل ,, ومعرفة كيفية عمل البرنامج

    كن أول من يقيم الموضوع
    12345