انتقل إلى محتوى الدرس

Sending 303 See Other Redirects إرسال التحويل القياسي 303 See Other بعد POST

امنع تكرار إرسال النماذج عند تحديث الصفحة عبر نمط PRG ورسائل الجلسة المؤقتة Flash Messages في PHP 8.
1 صفوف تعليمية
PHP
0 مشاهدة

شرح صفوف ومحتوى الفقرة

الصف 1 شرح توضيحي

رغم أن الرمز 302 يعمل في أغلب المتصفحات، إلا أن معيار HTTP القياسي يخصص الرمز 303 See Other تحديداً لتحويل طلب POST إلى صفحة عرض GET.

  • يأمر الرمز 303 See Other المتصفح صراحةً بفتح رابط Location الجديد باستخدام طريقة GET حصراً.
  • في المقابل، يمنع الرمزان 307 و308 تغيير طريقة الطلب ويجبران المتصفح على إعادة إرسال POST للرابط الجديد!
  • أرسل التحويل القياسي بكتابة: header("Location: /thank-you.php", true, 303); exit;.

يؤدي تمرير 303 كمعامل ثالث في دالة header() لضبط رمز الحالة على 303 See Other لضمان تحول الطلب التالي إلى GET.

PHP
<?php
header("Location: /orders/summary.php", true, 303);

echo "Active Redirect Status: " . http_response_code() . " See Other\n";