شرح صفوف ومحتوى الفقرة
يقسم نمط Post/Redirect/Get (PRG) معالجة النموذج إلى طلبين منفصلين بحيث يستقر المتصفح دائماً على رابط GET آمن قابل للتحديث.
- الخطوة 1 (POST): يرسل المتصفح البيانات عبر
POST، فيتحقق PHP منها ويحفظها ويخزن رسالة تنبيه في$_SESSIONثم يرد برأس تحويل. - الخطوة 2 (Redirect): يستقبل المتصفح رأس
Locationويقوم تلقائياً بإرسال طلبGETجديد للرابط المحدد. - الخطوة 3 (GET): يعرض PHP الصفحة عبر طلب
GET، ويصبح الضغط على مجرد تحديث آمن لصفحة العرض فقط.
يحفظ فرع POST رسالة النجاح داخل $_SESSION ويحول المتصفح فوراً إلى طلب GET /profile.php.
PHP
<?php
session_start();
$method = $_SERVER["REQUEST_METHOD"] ?? "POST";
if ($method === "POST") {
$_SESSION["flash_notice"] = "Profile updated successfully.";
header("Location: /profile.php", true, 303);
echo "Step 1 POST complete -> Redirecting (303) to GET /profile.php\n";
}