سوف يكون درسنا اليوم تطبيق متكامل من ( أ - ي ) واتمنى ان لا اطيل او لا تصعب اي نقطه على اي متعلم مع ارسن :). فكرة برنامجنا هو ان المستخدم يقوم بالتسجيل وبعد ذلك يمكنه اضافة الدروس , وكل درس ينتمى الى قسم معين , واذا كان المستخدم هو صاحب الموقع فيمكنه اضافة قسم لكي تنتمي الدروس اليها.
اهداف الدرس:
فكرة عمل البرنامج
تصميم قاعدة البيانات
العلاقات
انواع الاعمده في الجداول
كيفية عمل الموقع
الداله addslashes و stripslashes
الداله md5
الشكل النهائي لقاعدة البيانات -------------------------------------------------------------------------------- فكرة عمل البرنامج : سوف يكون درسنا اليوم تطبيق متكامل من ( أ - ي ) واتمنى ان لا اطيل او لا تصعب اي نقطه على اي متعلم مع ارسن :). فكرة برنامجنا هو ان المستخدم يقوم بالتسجيل وبعد ذلك يمكنه اضافة الدروس , وكل درس ينتمى الى قسم معين , واذا كان المستخدم هو صاحب الموقع فيمكنه اضافة قسم لكي تنتمي الدروس اليها. تصميم قاعدة البيانات : لو فكرنا بالبرنامج قليلا فسوف نستنتج اننا نحتاج الى ( درس - موضوع - مستخدم ) اليس ذلك صحيحا ؟ اذا هذه هي قاعدة البيانات الي نحتاجها انظر الى الصوره التالي:
العــــلاقــــات : العلاقات في برنامجنا سهله , وجميعها من النوع ( 1 - كثير ) اي ( 1 : M ) , لنقم بشرحها الان , كل مستخدم يضيف درس او اكثر اليس هذا منطقيا ؟ فمن المستحيل ان يقوم اكثر من عضو بإضافة الدرس نفسه. كل درس ينتمي الى موضوع معين ويقوم بكتابته عضو واحد. وكل موضوع يحتوي على اكثر من درس ولا يوجد درس يضاف الى اكثر من قسم واحد. لاحظ الصوره التاليه:
انواع الاعمده في الجداول : الجدول 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) -
كيفية عمل الموقع : نحتاج هنا الى معرفة كيفية تنقل المستخدم بين الصفحات وماهي الصفحات التي نحتاجها انظر الى الصوره التاليه :
الداله addslashes و stripslashes : بعض النصوص نحتاج ان نقوم بإدخالها الى قاعدة البيانات, اليس ذلك صحيحا ؟ بعض محتويات هذه النصوص عاديه ولكنا قد تكون اوامر في قاعدة البيانات فتقوم بتعطيل قاعدة البيانات او تخريبها , ولذلك نستخدم هذه الدالتين , الداله addslashes قبل ادخل المعلومه الى قاعدة البيانات , وهي تعمل كالتالي:
نصيحه : ( قم دائما بإستخدام هذه الداله اذا اردت ادخال معلومات الى قواعد البيانات ,, خاصه وان كانت من طرف المستخدم , فلا يمكنك ابدا معرفة ماذا يريد السمتخدم كتابته ) :) الداله md5 : نستخدم هذه الداله لتشفير كلمة مرور المستخدم ثم نضعها في قاعدة البيانات, فلا يصلح ان تقوم بوضع كلمة المرور كما هي , شفرها اولا ثم ادرجها , لاحظ التالي:
وناتج هذا التشفير ( 123456 ) فهو التالي:
الشكل النهائي لقاعدة البيانات :
تصميم قاعدة البيانات
العلاقات
انواع الاعمده في الجداول
كيفية عمل الموقع
الداله addslashes و stripslashes
الداله md5
الشكل النهائي لقاعدة البيانات -------------------------------------------------------------------------------- فكرة عمل البرنامج : سوف يكون درسنا اليوم تطبيق متكامل من ( أ - ي ) واتمنى ان لا اطيل او لا تصعب اي نقطه على اي متعلم مع ارسن :). فكرة برنامجنا هو ان المستخدم يقوم بالتسجيل وبعد ذلك يمكنه اضافة الدروس , وكل درس ينتمى الى قسم معين , واذا كان المستخدم هو صاحب الموقع فيمكنه اضافة قسم لكي تنتمي الدروس اليها. تصميم قاعدة البيانات : لو فكرنا بالبرنامج قليلا فسوف نستنتج اننا نحتاج الى ( درس - موضوع - مستخدم ) اليس ذلك صحيحا ؟ اذا هذه هي قاعدة البيانات الي نحتاجها انظر الى الصوره التالي:
العــــلاقــــات : العلاقات في برنامجنا سهله , وجميعها من النوع ( 1 - كثير ) اي ( 1 : M ) , لنقم بشرحها الان , كل مستخدم يضيف درس او اكثر اليس هذا منطقيا ؟ فمن المستحيل ان يقوم اكثر من عضو بإضافة الدرس نفسه. كل درس ينتمي الى موضوع معين ويقوم بكتابته عضو واحد. وكل موضوع يحتوي على اكثر من درس ولا يوجد درس يضاف الى اكثر من قسم واحد. لاحظ الصوره التاليه:
انواع الاعمده في الجداول : الجدول 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) -
كيفية عمل الموقع : نحتاج هنا الى معرفة كيفية تنقل المستخدم بين الصفحات وماهي الصفحات التي نحتاجها انظر الى الصوره التاليه :
الداله addslashes و stripslashes : بعض النصوص نحتاج ان نقوم بإدخالها الى قاعدة البيانات, اليس ذلك صحيحا ؟ بعض محتويات هذه النصوص عاديه ولكنا قد تكون اوامر في قاعدة البيانات فتقوم بتعطيل قاعدة البيانات او تخريبها , ولذلك نستخدم هذه الدالتين , الداله addslashes قبل ادخل المعلومه الى قاعدة البيانات , وهي تعمل كالتالي:
نصيحه : ( قم دائما بإستخدام هذه الداله اذا اردت ادخال معلومات الى قواعد البيانات ,, خاصه وان كانت من طرف المستخدم , فلا يمكنك ابدا معرفة ماذا يريد السمتخدم كتابته ) :) الداله md5 : نستخدم هذه الداله لتشفير كلمة مرور المستخدم ثم نضعها في قاعدة البيانات, فلا يصلح ان تقوم بوضع كلمة المرور كما هي , شفرها اولا ثم ادرجها , لاحظ التالي:
وناتج هذا التشفير ( 123456 ) فهو التالي:
الشكل النهائي لقاعدة البيانات :
الـــدرس الــقادم : سوف نقوم في الدرس القادم بكتابة كود البرنامج بالكامل ,, ومعرفة كيفية عمل البرنامج