شرح صفوف ومحتوى الفقرة
لأن التحويل يبدأ طلب GET جديداً ومستقلاً، تختفي متغيرات PHP المحلية الخاصة بطلب POST. لذا تُستخدم الرسائل المؤقتة (Flash Messages) لحفظ التنبيه في $_SESSION ثم مسحه فور قراءته لأول مرة.
- احفظ الرسالة قبل التحويل:
$_SESSION["flash"] = ["tone" => "success", "text" => "Saved!"];. - في طلب
GETالتالي، اقرأ الرسالة في متغير محلي ثم احذفها فوراً من الجلسة عبرunset($_SESSION["flash"]). - بفضل حذف المفتاح فور قراءته، لن تظهر الرسالة مرة أخرى إذا قام المستخدم بتحديث الصفحة لاحقاً.
يلتقط معامل الدمج الفارغ ?? الرسالة داخل المتغير المحلي $flash، بينما تمسحها unset() من الجلسة حتى لا تتكرر عند التحديث التالي.
PHP
<?php
session_start();
$_SESSION["flash"] = "Changes saved successfully!";
// On the redirected GET request, consume once and unset:
$flash = $_SESSION["flash"] ?? null;
unset($_SESSION["flash"]);
echo "1st Render : " . ($flash ?? "None") . "\n";
echo "2nd Refresh: " . ($_SESSION["flash"] ?? "None") . "\n";