برمجة

تطبيق شامل في لغة php على ماسبق

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

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

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


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

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

اضغط على الصوره لتكبيرها

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

اضغط على الصوره لتكبيرها

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

اضغط على الصوره لتكبيرها

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

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

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

اضغط على الصور لتكبيرها

 

 

 

.

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

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

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

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

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

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