کد پاسخ HTTP (http_response_code)
تابع http_response_code() کد وضعیت پاسخ را تنظیم می کند یا برمی گرداند. «کد وضعیت (Status Code)» عددی است که نتیجه درخواست را می گوید؛ مثل 404 یعنی «پیدا نشد».
تعریف، کاربرد، و نحو
این تابع کد پاسخ HTTP را ست یا دریافت می کند. اگر کد بدهی، مقدار قبلی را برمی گرداند. اگر کد ندهی، مقدار فعلی را برمی گرداند.
<?php
http_response_code(404);
?>
گرفتن کد فعلی پاسخ
بدون آرگومان، مقدار فعلی برگردانده می شود. سپس می توانی تصمیم بگیری پیام مناسب نمایش دهی.
<?php
$current = http_response_code();
echo $current;
?>
نمونه تغییر و استفاده ترکیبی
اول کد را ست کن، سپس هدر یا خروجی مناسب بده. همیشه قبل از هر خروجی متنی، کد و هدرها را تنظیم کن.
<?php
if (!headers_sent()) {
http_response_code(403);
header("Content-Type: text/plain; charset=UTF-8");
echo "دسترسی مجاز نیست.";
exit;
}
?>
گام های عملی سریع
- قبل از هر خروجی، کد پاسخ را مشخص کن.
- برای ریدایرکت، کد مناسب را ست کن.
- با headers_sent() وضعیت هدرها را چک کن.
- در صورت نیاز، با header() نوع محتوا را مشخص کن.
نکات مهم و خطاهای رایج
- بعد از خروجی، تغییر کد سخت می شود.
- کد و هدر را زود تنظیم کن.
- کد اشتباه، رفتار مرورگر را گیج می کند.
جمع بندی سریع
- http_response_code کد پاسخ را مدیریت می کند.
- بدون ورودی، کد فعلی را می دهد.
- قبل از echo، کد و هدر را تعیین کن.
- برای کنترل بهتر، از header و headers_sent کمک بگیر.