شرح صفوف ومحتوى الفقرة
يمثل الجمع بين نمط التحويل PRG ورسائل التنبيه المؤقتة والاحتفاظ بالمدخلات السابقة الأساس القياسي لمعالجة النماذج في جميع أطر عمل PHP الحديثة.
- استخدم نمط PRG مع كل طلب
POSTيغير حالة البيانات، سواء عند نجاح العملية أو عند فشل التحقق. - استخدم دائماً الرمز
303 See Otherمتبوعاً بـexit;للانتقال النظيف منPOSTإلىGET. - احذف رسائل التنبيه وأخطاء التحقق والمدخلات السابقة من
$_SESSIONفور سحبها لمتغيرات العرض.
تقوم الدالة المساعدة pullFlash($key) بجلب الرسالة من الجلسة وحذفها في خطوة واحدة لإبقاء قوالب العرض نظيفة.
| المرحلة | طريقة الطلب ورمز الحالة | العملية على الجلسة $_SESSION |
|---|---|---|
| 1. Valid Form Submit | POST -> 303 See Other | Set $_SESSION["flash_success"] |
| 2. Invalid Form Submit | POST -> 303 See Other | Set $_SESSION["errors"] & $_SESSION["old"] |
| 3. Redirected Page Load | GET -> 200 OK | Read & immediately unset() flash/errors/old |
| 4. User Presses F5 Refresh | GET -> 200 OK | Session keys already empty; safe reload |
<?php
session_start();
$_SESSION["flash"] = ["tone" => "success", "msg" => "Ticket #88 submitted."];
function pullFlash($key) {
$val = $_SESSION[$key] ?? null;
unset($_SESSION[$key]);
return $val;
}
$alert = pullFlash("flash");
echo "[" . strtoupper($alert["tone"]) . "] " . $alert["msg"] . "\n";
ملخص الدرس
حصاد الدرسمراجعة مركّزة لأهم المفاهيم والقواعد الهندسية التي أتقنتها في هذا الدرس قبل التطبيق العملي
ماذا تعلّمت في هذا الدرس؟
يمثل الجمع بين نمط التحويل PRG ورسائل التنبيه المؤقتة والاحتفاظ بالمدخلات السابقة الأساس القياسي لمعالجة النماذج في جميع أطر عمل PHP الحديثة. استخدم نمط PRG مع كل طلب POST يغير حالة البيانات، سواء عند نجاح العملية أو عند فشل التحقق. استخدم دائماً الرمز 303 See Other متبوعاً بـ exit; للانتقال النظيف من POST إلى GET. احذف رسائل التنبيه وأخطاء التحقق والمدخلات السابقة من $_SESSION فور سحبها لمتغيرات العرض.