شرح صفوف ومحتوى الفقرة
اختر بين النماذج التقليدية بنمط PRG ونماذج AJAX التفاعلية بناءً على طبيعة تجربة المستخدم في كل شاشة.
- استخدم نماذج PRG التقليدية عندما يؤدي إرسال النموذج للانتقال إلى صفحة جديدة كلياً (مثل تسجيل الدخول أو الخروج).
- استخدم نماذج AJAX عندما يبقى المستخدم في نفس الشاشة (مثل التصويت الفوري، أو التعليقات، أو النوافذ المنبثقة، أو حفظ الإعدادات).
- يتطلب كلا الأسلوبين نفس ضوابط التحقق على الخادم واستعلامات PDO المحضرة وفحص توكن CSRF دون أي استثناء!
يتيح فحص الرأس HTTP_ACCEPT لنفس ملف PHP إرجاع استجابة JSON لطلبات AJAX أو التحويل بنمط PRG للنماذج العادية.
| وجه المقارنة | النموذج التقليدي POST + PRG | نموذج AJAX عبر FormData + fetch() |
|---|---|---|
| Page Reload | Full browser navigation (303 Redirect) | Zero reload (in-place DOM update) |
| Validation Errors | Stored in session flash + redirect back | Returned immediately as HTTP 422 JSON |
| CSRF Token Carrier | Hidden <input name="csrf_token"> | Hidden input in FormData or X-CSRF-Token header |
| Success Feedback | Session flash banner on next page | Live toast / progress bar update |
| Server Security Rules | Full validation + PDO + CSRF | Full validation + PDO + CSRF |
<?php
function wantsJson(array $server): bool {
$accept = $server['HTTP_ACCEPT'] ?? '';
$xhr = $server['HTTP_X_REQUESTED_WITH'] ?? '';
return str_contains($accept, 'application/json')
|| strtolower($xhr) === 'xmlhttprequest';
}
$simServer = ['HTTP_ACCEPT' => 'application/json, text/plain'];
echo "Client expects JSON? " . (wantsJson($simServer) ? "Yes" : "No") . "\n";
ملخص الدرس
حصاد الدرسمراجعة مركّزة لأهم المفاهيم والقواعد الهندسية التي أتقنتها في هذا الدرس قبل التطبيق العملي
ماذا تعلّمت في هذا الدرس؟
اختر بين النماذج التقليدية بنمط PRG ونماذج AJAX التفاعلية بناءً على طبيعة تجربة المستخدم في كل شاشة. استخدم نماذج PRG التقليدية عندما يؤدي إرسال النموذج للانتقال إلى صفحة جديدة كلياً (مثل تسجيل الدخول أو الخروج). استخدم نماذج AJAX عندما يبقى المستخدم في نفس الشاشة (مثل التصويت الفوري، أو التعليقات، أو النوافذ المنبثقة، أو حفظ الإعدادات). يتطلب كلا الأسلوبين نفس ضوابط التحقق على الخادم واستعلامات PDO المحضرة وفحص توكن CSRF دون أي استثناء!