🧪 التدريبات
كل تمرين «جرّب بنفسك» في مكان واحد: اقرأ المطلوب، ثم اكتب الحل وشغّله داخل صفحة الدرس.
الوحدة 1: تطوير المنطق لمعالجة الطلبات
حلّل واجهة خلفية لمكتبة الكليةسهل · الدرس 1: كيف يعمل الويب من جهة الخادم؟
مكتبة الكلية تريد موقعًا بسيطًا: «يبحث المتدرب عن كتاب بعنوانه، ويرى تفاصيل كتاب معيّن، ويحجز كتابًا متاحًا. ويضيف أمين المكتبة كتبًا جديدة». قبل أي كود، حلّل الطلبات في جدول كالذي في القسم 6، ثم سلّمه لمعلمك.←بطاقة متدربسهل · الدرس 2: أول صفحة PHP
اصنع صفحة تعرض بطاقة متدرب. البيانات تُحفظ في متغيرات أعلى الملف، ثم يعرضها قالب HTML بالأسفل.←قائمة المنتجات المتوفرةمتوسط · الدرس 3: أساسيات PHP: المصفوفات والشروط والحلقات
متجر الواحة يريد صفحة تعرض المنتجات المتوفرة فقط (المخزون أكبر من صفر) في قائمة نقطية، مع سعر كل منتج، وفي آخرها عدد المنتجات المتوفرة.←حاسبة على الخادممتوسط · الدرس 4: استقبال الطلبات: GET و POST
اكتب الملف calc.php: إن جاءه طلب GET يعرض نموذج الحاسبة، وإن جاءه POST يحسب ويعرض النتيجة. الحساب يتم على الخادم.←
مكتبة الكلية تريد موقعًا بسيطًا: «يبحث المتدرب عن كتاب بعنوانه، ويرى تفاصيل كتاب معيّن، ويحجز كتابًا متاحًا. ويضيف أمين المكتبة كتبًا جديدة». قبل أي كود، حلّل الطلبات في جدول كالذي في القسم 6، ثم سلّمه لمعلمك.←بطاقة متدربسهل · الدرس 2: أول صفحة PHP
اصنع صفحة تعرض بطاقة متدرب. البيانات تُحفظ في متغيرات أعلى الملف، ثم يعرضها قالب HTML بالأسفل.←قائمة المنتجات المتوفرةمتوسط · الدرس 3: أساسيات PHP: المصفوفات والشروط والحلقات
متجر الواحة يريد صفحة تعرض المنتجات المتوفرة فقط (المخزون أكبر من صفر) في قائمة نقطية، مع سعر كل منتج، وفي آخرها عدد المنتجات المتوفرة.←حاسبة على الخادممتوسط · الدرس 4: استقبال الطلبات: GET و POST
اكتب الملف calc.php: إن جاءه طلب GET يعرض نموذج الحاسبة، وإن جاءه POST يحسب ويعرض النتيجة. الحساب يتم على الخادم.←
الوحدة 2: الدوال
فاتورة المتجرمتوسط · الدرس 5: الدوال في PHP
اكتب دالتين، ثم استخدمهما لطباعة فاتورة طلب. الدوال تجعل الحساب في مكان واحد.←موجّه لموقع الكليةمتوسط · الدرس 6: خادم Apache والمنافذ وتوجيه الطلبات
اكتب موجّهًا في index.php لموقع قسم البرمجة. يعرض الصفحة حسب المعامل page، ويرد بـ 404 للصفحات غير الموجودة.←
اكتب دالتين، ثم استخدمهما لطباعة فاتورة طلب. الدوال تجعل الحساب في مكان واحد.←موجّه لموقع الكليةمتوسط · الدرس 6: خادم Apache والمنافذ وتوجيه الطلبات
اكتب موجّهًا في index.php لموقع قسم البرمجة. يعرض الصفحة حسب المعامل page، ويرد بـ 404 للصفحات غير الموجودة.←
الوحدة 3: تنفيذ منطق التطبيق واستجابة الطلبات
التحقق من طلب حجز قاعةمتوسط · الدرس 7: التحقق من بيانات الطلب ورموز الاستجابة
نظام حجز قاعات التدريب يستقبل POST فيه:
اكتب fav.php لقائمة الدورات المفضلة لكل متدرب، تُحفظ في الجلسة.←
نظام حجز قاعات التدريب يستقبل POST فيه:
room (رقم القاعة)، و hours (عدد الساعات)، و email. اكتب التحقق.←قائمة المفضلة في الجلسةمتوسط · الدرس 8: الكوكيز والجلساتاكتب fav.php لقائمة الدورات المفضلة لكل متدرب، تُحفظ في الجلسة.←
الوحدة 4: إنشاء وحدات من الجانب الخادم لوظائف التطبيق
أزل التكرارمتوسط · الدرس 9: تقسيم التطبيق إلى ملفات: include و require
الصفحتان index.php و courses.php تكرران الدالة
اكتب الصنف Trainee في
الصفحتان index.php و courses.php تكرران الدالة
e() والقائمة والتذييل. انقل الأجزاء المشتركة إلى ملفي layout، ثم أضف رابطًا ثالثًا للقائمة.←صنف المتدربمتوسط · الدرس 10: الأصناف والكائنات لتنظيم الكوداكتب الصنف Trainee في
src/Trainee.php، واستخدمه في report.php لطباعة تقرير الدرجات.←الوحدة 5: تنفيذ المنطق التجاري وقواعد التطبيق
قواعد السحب من المحفظةمتوسط · الدرس 11: قواعد العمل في الكود
محفظة المتدرب الإلكترونية في المقصف. اكتب في wallet.php دالة القواعد وردود الطلب.←مستودع الكتبمتقدم · الدرس 12: الأخطاء والاستثناءات
الدالة
محفظة المتدرب الإلكترونية في المقصف. اكتب في wallet.php دالة القواعد وردود الطلب.←مستودع الكتبمتقدم · الدرس 12: الأخطاء والاستثناءات
الدالة
borrow() في library.php تطبّق قواعد استعارة الكتب. عدّلها لترمي استثناءات بدل طباعة الأخطاء، ثم حوّلها إلى ردود HTTP.←الوحدة 6: الدمج مع الخدمات وواجهات برمجة التطبيقات
واجهة إحصاءات الدرجاتمتوسط · الدرس
اكتب stats.php: تستقبل POST بجسم JSON فيه مصفوفة درجات، وترد بإحصاءاتها JSON.←حالة الطقس للمعهدمتوسط · الدرس 14: استهلاك خدمة خارجية
اكتب weather.php: تطلب حالة الطقس لمدينة من خدمة (محاكاة عبر http_get)، وتعرضها. الملفات http.php وردود الخدمة جاهزة.←
13: JSON: لغة تبادل البياناتاكتب stats.php: تستقبل POST بجسم JSON فيه مصفوفة درجات، وترد بإحصاءاتها JSON.←حالة الطقس للمعهدمتوسط · الدرس 14: استهلاك خدمة خارجية
اكتب weather.php: تطلب حالة الطقس لمدينة من خدمة (محاكاة عبر http_get)، وتعرضها. الملفات http.php وردود الخدمة جاهزة.←
الوحدة 7: التعامل مع حالة التطبيق والبيانات
لوحة الإعلاناتمتوسط · الدرس 15: حالة التطبيق: ما يبقى وما يزول
اكتب board.php: لوحة إعلانات يراها كل المستخدمين، مع عدّاد خاص لكل مستخدم بعدد ما نشره هو.←احمِ صفحة الإدارةمتقدم · الدرس 16: تسجيل الدخول والخروج
نظام الدخول من الدرس جاهز. أكمل admin.php لتكون للمدير وحده، وأصلح ثغرة في login.php.←
اكتب board.php: لوحة إعلانات يراها كل المستخدمين، مع عدّاد خاص لكل مستخدم بعدد ما نشره هو.←احمِ صفحة الإدارةمتقدم · الدرس 16: تسجيل الدخول والخروج
نظام الدخول من الدرس جاهز. أكمل admin.php لتكون للمدير وحده، وأصلح ثغرة في login.php.←
الوحدة 8: تنفيذ كود برمجي لمعالجة وإدارة البيانات
تقرير الحضور من CSVمتقدم · الدرس 17: استقبال البيانات وتحليلها
المشرف يلصق بيانات الحضور
اكتب guestbook.php مع وحدة تخزين في JSON. الزائر يكتب اسمه ورسالته، والكل يرى الرسائل.←
المشرف يلصق بيانات الحضور
(CSV) في حقل نصي ويرسلها POST. اكتب attendance.php يحللها.←سجل الزوارمتوسط · الدرس 18: حفظ البيانات في الملفاتاكتب guestbook.php مع وحدة تخزين في JSON. الزائر يكتب اسمه ورسالته، والكل يرى الرسائل.←
الوحدة 9: ربط الكود من جانب الخادم مع قواعد البيانات
لوحة إحصاءات المتجرمتوسط · الدرس 19: الاتصال بقاعدة البيانات عبر PDO
اكتب stats.php التي تقرأ من قاعدة «متجر الواحة» وتعرض لوحة إحصاءات. db.php جاهز.←تحديث السعر بأمانمتقدم · الدرس 20: الإضافة والتعديل والحذف بأمان
الملف price.php فيه ثغرة حقن SQL، ولا يتحقق من شيء. أصلحه.←أكمل حرف U: صفحة التعديلمتقدم · الدرس 21: تطبيق متكامل: إدارة المستخدمين
التطبيق ينقصه التعديل. اكتب edit.php مستخدمًا دوال users.php.←
اكتب stats.php التي تقرأ من قاعدة «متجر الواحة» وتعرض لوحة إحصاءات. db.php جاهز.←تحديث السعر بأمانمتقدم · الدرس 20: الإضافة والتعديل والحذف بأمان
الملف price.php فيه ثغرة حقن SQL، ولا يتحقق من شيء. أصلحه.←أكمل حرف U: صفحة التعديلمتقدم · الدرس 21: تطبيق متكامل: إدارة المستخدمين
التطبيق ينقصه التعديل. اكتب edit.php مستخدمًا دوال users.php.←
الوحدة 10: ربط الكود من جانب الخادم مع واجهات البرمجة (API)
واجهة المنتجاتمتقدم · الدرس 22: بناء واجهة برمجة REST API
اكتب
فريق الواجهة الأمامية يبني تطبيق React على عنوانين، ويحتاج أن يقرأ
اكتب
api/products.php لقاعدة «متجر الواحة» بأسلوب REST، وكل الردود JSON.←افتح الواجهة لتطبيق Reactمتقدم · الدرس 23: ربط الواجهة الأمامية بالـ APIفريق الواجهة الأمامية يبني تطبيق React على عنوانين، ويحتاج أن يقرأ
api/list.php. أضف دعم CORS للأصلين فقط.←الوحدة 11: اختيار بيئة الاستضافة وتكوين الخادم
الوحدة 12: نشر التطبيق على بيئة الاستضافة
الوحدة 13: تكوين النطاق وإمكانية الوصول عبر الويب
الوحدة 14: اختبار عملية النشر والتحقق منها
اختبار الدخانمتوسط · الدرس 27: اختبار النشر والتحقق منه
أكمل smoke.php: يطلب كل رابط في القائمة من الموقع المنشور (المحاكى) ويطبع تقريرًا.←سلّم مشروعكمشروع · الدرس 28: المشروع الختامي: واجهة خلفية لإدارة بيانات المستخدمين
ابنِ الواجهة الخلفية لإدارة بيانات المستخدمين وانشرها، ثم سلّم الرابط والتقرير وملفات المشروع (بلا ملف الأسرار) لمعلمك.←
أكمل smoke.php: يطلب كل رابط في القائمة من الموقع المنشور (المحاكى) ويطبع تقريرًا.←سلّم مشروعكمشروع · الدرس 28: المشروع الختامي: واجهة خلفية لإدارة بيانات المستخدمين
ابنِ الواجهة الخلفية لإدارة بيانات المستخدمين وانشرها، ثم سلّم الرابط والتقرير وملفات المشروع (بلا ملف الأسرار) لمعلمك.←