منتديات فبركة ايجى
الدرس الثاني عشر: متفرقات وتطبيق على الدروس السابقه Ezlb9t10
منتديات فبركة ايجى
الدرس الثاني عشر: متفرقات وتطبيق على الدروس السابقه Ezlb9t10
منتديات فبركة ايجى
هل تريد التفاعل مع هذه المساهمة؟ كل ما عليك هو إنشاء حساب جديد ببضع خطوات أو تسجيل الدخول للمتابعة.


مرحبا بك من جديد يا زائر فى منتديات فبركة ايجى
 
الرئيسيةالبوابةأحدث الصورالتسجيلدخول

 

 الدرس الثاني عشر: متفرقات وتطبيق على الدروس السابقه

اذهب الى الأسفل 
كاتب الموضوعرسالة
The Rock
المدير العام™
المدير العام™
The Rock


الدرس الثاني عشر: متفرقات وتطبيق على الدروس السابقه P60tur5o60jd
المزاج الدرس الثاني عشر: متفرقات وتطبيق على الدروس السابقه Pi-ca-18
ذكر
SmS الدرس الثاني عشر: متفرقات وتطبيق على الدروس السابقه F9ues51nlw7q
عدد المساهمات : 1857
تاريخ التسجيل : 06/02/2013

الدرس الثاني عشر: متفرقات وتطبيق على الدروس السابقه Empty
مُساهمةموضوع: الدرس الثاني عشر: متفرقات وتطبيق على الدروس السابقه   الدرس الثاني عشر: متفرقات وتطبيق على الدروس السابقه Icon_minitimeالسبت يونيو 29, 2013 1:19 pm

نتعلم في درس اليوم شكل اخر من العبارتين include و require بالاضافه الى معرفة المتغير PHP_SELF , ثم نتطرق الى العبارتين global و static , وننهي الدرس بعمل تطبيق كامل على جميع الدروس السابقه, وسوف يكون برنامجنا في تطبيق الدرس الثاني عشر هو ...


بسم الله الرحمن الرحيم

نتمنى ان تكون الاستفاده ممتازه من هذه الدروس ولا تترد بطرح اي سؤال على بريد الموقع او بريدي الشخصي وسوف يسعدني ان اقوم بالمساعده , اذا قمت بأي خطأ او كان هناك خطأ في معلوماتي الرجاء اعلامي بذلك , فلا تنسى انه جل من لا يسهو . ( ان اصبت من الله وان اخطأت فمن نفسي او الشيطان )

متطلبات قبل البدأ :

مراجعة جميع الدروس السابقة , حيث ان هذا الدرس يجمع كل الدروس

اهداف الدرس:

الداله include_once والداله require_once
المتغير $PHP_SELF
العباره global
العباره static
تطبيق شامل

--------------------------------------------------------------------------------

الداله include_once و الداله require_once :

تعلمنا في الدرس الحادي عشر ان نستخدم الدالتين ( include ) والداله ( require ) , ونأتي الان الى جزء منها وهي الدالتين include_once و require_once , طريقة عمل هاتين الدالتين نفس عمل الدالتين الاول تماما, نفس طريقة الكتابه ( مطابقه 100 % 100 ) , ولكن هناك فرق صغير بينهما , كما تدل الكلمه ( once ) ومعناها ( مره واحده فقط ) , اننا نستخدم هذه العباره عندما نريد ان نقوم بإدراج ملف مره واحده فقط. فإذا استخدمنا هذه الداله وقمنا بإدراج ملف معين , فلن يتم ادراجه مره اخرى. بعباره اخرى , لو لدينا برنامج صغير وادرجنا داخل هذا البرنامج الملف ( arccn.php ) بإستخدام العباره ( include_once ) , فلن يتم ادراجه مره اخرى بعكس العباره include. وعندما تقرأ في دليل استخدام للغه فسوف تجد ان هذا هو الفرق الوحيد, وسبب وجود دالتين هو للتأكد من عدم وجود تضارب بين اسماء الدوال , او المتغيرات في البرامج.


المتغير $PHP_SELF

المتغير $PHP_SELF هو معرف من قبل اللغه نفسها , ولا يمكنك ان تقوم بتعريف متغير بهذا الاسم, يستخدم هذا المتغير لمعرفة اسم الملف الذي يقام تنفيذه حاليا. فمثلا لو اردنا في نموذج ان نذهب الى نفس الصفحه , فسوف نستخدم المتغير $PHP_SELF بدل كتابة اسم الملف. هذا هو استخدام هذا المتغير وسوف نتطرق له في احد برامجنا التطبيقية.


العباره global :

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

الدرس الثاني عشر: متفرقات وتطبيق على الدروس السابقه L12e1

لاحظ ان المتغير ( name ) لم يتم طباعته, لانها معرف خارج الداله , وليس له علاقه بالمتغير الموجود داخل الدالة ابدا. ونفس الشيء للمتغير ( $lastName ) فلن يتم طباعته في السطر رقم 15 , لانه تم تعريفه داخل الداله. ولكن يمكننا ان نلغي هذا كله , ونجعل متغير يستخدم في جميع الصفحات, بإستخدام العباره global, ويتم كتابتها بالطريقه التاليه:

الدرس الثاني عشر: متفرقات وتطبيق على الدروس السابقه L12e2

[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] - لاحظ هنا اننا قمنا بتعريف المتغير داخل الداله, ومن الطبيعي انه لن يتم طباعته خارجها حتى لو كان يحتوي على قيمه, ولكن مع استخدامنا للعباره global , استطعنا من عمل ذلك. ويجب عليك ان تلاحظ انه يجب ان تجعل المتغير ( عام ) == ( global ) ثم بعد ذلك تقوم بتعيين قيمه بداخله ثم الطباعه ان اردت.

2 - قمنا بطباعة المتغير , ولاحظ انه قام بالطباعه هنا.


العباره static :

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

الدرس الثاني عشر: متفرقات وتطبيق على الدروس السابقه L12e3

هنا نقوم بطباعة المتغير a ثم نقوم بزيادته واحد , اليس ذلك صحيح ؟ ولكن لكما نقوم بمناداة الداله ( test ) مره اخرى , يتم ارجاع قيمة المتغير a الى ( 0 ) , مع اننا نقوم بزيادة المتغير في كل مره نقوم بالطباعه. وسيكون ناتج البرنامج هو التالي:

الدرس الثاني عشر: متفرقات وتطبيق على الدروس السابقه L12e4

الان لنقم بإستخدام العباره static ونرى الاختلاف , اكتب التالي قبل المتغير a :

الدرس الثاني عشر: متفرقات وتطبيق على الدروس السابقه L12e5

وعند تشغيل هذا الكود سوف يكون الناتج ايها الزائر الكريم بالطريقه التاليه:

الدرس الثاني عشر: متفرقات وتطبيق على الدروس السابقه L12e6

ما نلاحظه هنا , ان في كل مره ننادي فيها الداله , في اخرها نقوم بزيادة المتغير بالعدد واحد , وعند منادة الداله مره اخرى , سوف يكمل من اخر عدد وصل اليه المتغير. وهذه هي فائدة العباره static في اللغه PHP.


تطبيق شامل :

ترددت كثيرا في اختيار برنامج نقوم بتطبيقه , حيث اني اريد ان اقوم بشمل جميع ما تعلمناه في الدروس السابقه, وعند انتهاء التفكير قررت ان يكون تطبيقنا ( اختبار مصغر ). وان شاء الله يكون شاملا لجميع ما قمنا بتعمله, ولا تغضب عندما نقوم بنسيان احد النقاط الصغيره, فتأكد انه في تطبيق اخر سنتطرق لها.

فكرة عمل البرنامج :

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

الدرس الثاني عشر: متفرقات وتطبيق على الدروس السابقه L12e7

لنقم بالتفكير في متطلباتنا , وماهي الملفات التي نحتاجها :


الدرس الثاني عشر: متفرقات وتطبيق على الدروس السابقه L12e7a


لنبدأ الان بكتابة البرنامج ونحاول ان نفهمه خطوه خطوه , افتح محرر الاكواد واكتب التالي ثم احفظه في ملف اسمه output.php :

الدرس الثاني عشر: متفرقات وتطبيق على الدروس السابقه L12e8

قمنا هنا بعمل رأس الصفحه وذيل الصفحه , ولو تلاحظ اننا استخدمنا الدوال لعمل ذلك , بحيث ان في كل صفحه لا نكرر كتابة الرأس والذيل وانما فقط نقوم بإدراج الملفات , وهي تقوم بالباقي. ولاحظ اننا ايضا استخدمنا مدخلات للدوال , بحيث يمكننا تغيير عنوان الصفحه وغيرها في اي وقت نريد. الان في صفحتنا ادخال المعلومات , نريد ان نقوم بإنشاء نموذج ليتمكن المستخدم من ادخال معلوماته الشخصيه, ليتمكن من الدخول الى الاختبار , اذن هو نموذج , سنضعه في ملف output.php , اذن ارجع الى الملف واكتب التالي:

الدرس الثاني عشر: متفرقات وتطبيق على الدروس السابقه L12e9

لاحظ هنا اننا جعلنا النموذج يذهب الى الصفحه quiz.php , ايه انه ضروري ان يقوم المستخدم بكتابة معلوماته الشخصيه قبل دخول الاختبار. الان لنقم بعمل صفحة تسجيل المعلومات. الان انشئ ملف جديد اسمه info.php, واكتب بداخله الكود التالي:

الدرس الثاني عشر: متفرقات وتطبيق على الدروس السابقه L12e10

في بداية هذا الكود قمنا بإدراج الملف output.php لان بداخله الاكواد التي نحتاجها الى تشغيل الصفحه. ولاحظ اننا استخدمنا الدوال فقط, ولم نقم بإستخدام غيرها. الان نحتاج ان نتأكد هل المستخدم ادخل جميع البيانات ام لا ؟ لاننا قلنا انه اذا لم يدخل جميع البيانات فلا يسمح له بأخد الاختبار. اذن قم بإنشاء ملف اسمه quiz_fun.php واكتب بداخله الداله التاليه :

الدرس الثاني عشر: متفرقات وتطبيق على الدروس السابقه L12e11

هنا نقوم بالتحقق من مدخلات النموذج , اذا كانت جميعها مدخله , فنرجع القيمه true , واذا كانت هناك مدخلات ناقصه فسوف نرجع القيمه false. الان انشئ ملف اسمه quiz.php واكتب بداخله التالي:

الدرس الثاني عشر: متفرقات وتطبيق على الدروس السابقه L12e12

الكود واضح وبسيط هنا , ادرجنا الملفات في البدايه, ثم نقوم بإستخدام دالة التحقق من المدخلات, اذا ارجعت القيمه true نبدأ الاختبار , واذا ارجعت false لا نبدأ الاختبار. الان نريد ان نقوم بعرض الاسئله , سوف نقوم بكتابة سؤالين فقط , لكي لا نقوم بإطالة الدرس, ارجع الى الملف output.php واكتب الداله التاليه :


الدرس الثاني عشر: متفرقات وتطبيق على الدروس السابقه L12e13


لاحظ اننا استخدمنا هنا الطريقة GET لارسال البيانات, لكي تفهم الطريقتين بشكل صحيح, ارجع الان الى الملف quiz.php , وقم اضافة السطر التالي:

الدرس الثاني عشر: متفرقات وتطبيق على الدروس السابقه L12e15

قم بتشغيل الملف info.php الان , وقم بتجربة برنامجك , وسوف تجد انك ستصل الى الصفحة التاليه :

الدرس الثاني عشر: متفرقات وتطبيق على الدروس السابقه L12e16

قربنا من النهاية. نريد الان ان نقوم بمعرفة اذا قام المستخدم بكتابة الاجابات الصحيحه ام لا, اذن لنقم بإنشاء متغير اسمه mark نضع به العلامات ونريد ان نستخدمه في جميع الصفحات, اذن سنحتاج العباره global , ارجع الى الملف quiz_fun.php واضف السطرين التاليين :

الدرس الثاني عشر: متفرقات وتطبيق على الدروس السابقه L12e17

بقيت الان الصفحه الاخيره, ولن اخذ وقت طويل في شرحها, فسأضعها لك , واعتقد انه الان لديك الامكانيه لفهم الكود الموجود بداخلها :

الدرس الثاني عشر: متفرقات وتطبيق على الدروس السابقه L12e18

ملاحظه : جميع القيم التي تكون قادمه عن طريق النماذج , تكون على شكل نصوص ( string ) ولهذا استخدمنا التحويل من نص الى رقم , كما تعلمنا سابقا , لانه لن نستطيع ان نقوم بمقارنه صحيحه اذا كان الطرفين من غير النوع , ولا تنسى انه يمكنك استخدام المعامل ( === ) , لمعرفة ان الطرفين متساويين ومن نفس النوع


--------------------------------------------------------------------------------

سؤال على الدرس :

1 - قم بالتعديل على برنامج الاختبار , حيث يكتب لك في الصفحه الاخيره معلومات المستخدم الذي دخل الاختبار , الاسم والبريد الالكتروني مع الدرجه التي حصل عليها المستخدم في الاختبار ( مساعده : استخدم global )

الـــدرس الــقادم :

سوف نتعرف في الدرس القادم على نبذه عامه عن المصفوفات وانواعها , وشرحها بطريقه مفصله , لانها تعتبر نقطة تحور كبيره في هذه اللغه
الرجوع الى أعلى الصفحة اذهب الى الأسفل
https://fbrkaeg.yoo7.com
 
الدرس الثاني عشر: متفرقات وتطبيق على الدروس السابقه
الرجوع الى أعلى الصفحة 
صفحة 1 من اصل 1
 مواضيع مماثلة
-
»  الدرس السادس عشر: متفرقات وتطبيق على المصفوفات
»  الدرس الخامس والعشرون: برنامج الدروس الجزء الثاني
» الدرس السادس والعشرون: برنامج الدروس الجزء الاخير
» الدرس الرابع والعشرون: برنامج الدروس الجزء الاول
»  الدرس السابع: متفرقات عن لغة PHP

صلاحيات هذا المنتدى:لاتستطيع الرد على المواضيع في هذا المنتدى
منتديات فبركة ايجى :: عالم كونكر اون لاين و Conquer Online Private Servers :: لغة السي شارب #C-
انتقل الى: