ساخت صفحه مدیریت خطای همه کاره

تیر ۱۸, ۱۳۹۱ توسط : سعید

در این پست قصد دارم برای شما نحوه ساخت صفحه مدیریت خطای همه کاره رو به وسیله هدرها بهتون آموزش بدم. صفحه خطاهایی مثل خطای ۴۰۴ و …
یکی از مزیتهای این روش اینه که به وسیله یک صفحه میتونیم تمام خطاهای به وجود اومده رو مدیریت کنیم.

برای اینکار ابتدا در فایل htaccess کدهای زیر رو قرار میدیم.

ErrorDocument 400 /errors.php
ErrorDocument 403 /errors.php
ErrorDocument 404 /errors.php
ErrorDocument 405 /errors.php
ErrorDocument 408 /errors.php
ErrorDocument 500 /errors.php
ErrorDocument 502 /errors.php
ErrorDocument 504 /errors.php

حتما میدونید که دستور ErrorDocument هنگامی که یک خطا اتفاق میافته صفحه رو به error.php انتقال میده. مثلا هنگامی که یک صفحه پیدا نشه به جای خطای پیش فرض Not Found 404 میتونیم یک صفحه خطای دیگه رو نمایش بدیم.

به هر حال وقتی کد بالا رو در فایل htaccess وارد کردید یک فایل با نام errors.php بسازید و کد زیر رو داخلش قرار بدید .

$status = $_SERVER['REDIRECT_STATUS'];
$codes = array(
       ۴۰۰ => array('400 Bad Request', 'The request cannot be fulfilled due to bad syntax.'),
       ۴۰۳ => array('403 Forbidden', 'The server has refused to fulfil your request.'),
       ۴۰۴ => array('404 Not Found', 'The page you requested was not found on this server.'),
       ۴۰۵ => array('405 Method Not Allowed', 'The method specified in the request is not allowed for the specified resource.'),
       ۴۰۸ => array('408 Request Timeout', 'Your browser failed to send a request in the time allowed by the server.'),
       ۵۰۰ => array('500 Internal Server Error', 'The request was unsuccessful due to an unexpected condition encountered by the server.'),
       ۵۰۲ => array('502 Bad Gateway', 'The server received an invalid response while trying to carry out the request.'),
       ۵۰۴ => array('504 Gateway Timeout', 'The upstream server failed to send a request in the time allowed by the server.'),
);

$title = $codes[$status][0];
$message = $codes[$status][1];
if ($title == false || strlen($status) != 3) {
       $message = 'Please supply a valid HTTP status code.';
}

echo '<h1>Hold up! '.$title.' detected</h1>
<p>'.$message.'</p>';

فکر میکنم همه چیز واضح و روشنه ولی بازم اگر سوالی دارید در قسمت نظرات بپرسید.

موفق باشید

منبع : http://papermashup.com

بازدید : ۵۷۲۴

تیر ۲۰, ۱۳۹۱ @ ۷:۱۰ ق.ظ

سلام
ببخشید چرا در داخل فایل htaccess باید بنویسیم:
/errors.php
ولی فایل ایجاد شده باید:
error.php
باشد؟

پاسخ دادن
    سعید
    تیر ۲۰, ۱۳۹۱ @ ۱۰:۳۷ ب.ظ

    سلام
    ممنون بابت تذکرت
    اشتباه از من بود درستش کردم
    مرسی

    پاسخ دادن
سید داوود فامرینی
تیر ۲۰, ۱۳۹۱ @ ۶:۴۴ ب.ظ

سلام خیلی عالی و کاربردی بود. لطفا پستاتو قطع نکن

موفق و پیروز باشید

پاسخ دادن
    سعید
    تیر ۲۱, ۱۳۹۱ @ ۸:۰۲ ب.ظ

    ممنون
    چشم 🙂

    پاسخ دادن
سپهر
مرداد ۳۰, ۱۳۹۱ @ ۱۱:۲۸ ب.ظ

+ داداش نمونه هم بذار
+ بعدش یعنی اگه خطا های متفاوت بروز بده همه صفحاتش مثل هم هست یا متن و شکل و شمایلش هم فرق داره؟

پاسخ دادن
اسفند ۲۵, ۱۳۹۱ @ ۱۲:۲۸ ب.ظ

سلام من چند ماهی شروع کردم به یاد گیری برنامه نویسی و طراحی وب
می خواستم راهنمایی کنید چه کتاب هایی رو بخونم (اگه لینکشو برام میل کنید ممنون میشم )
فایل اچ تی اکسس رو چه جوری به سایت معرفی کنیم.
با تشکر فراوان

پاسخ دادن
    سعید
    اسفند ۲۶, ۱۳۹۱ @ ۱۱:۲۱ ق.ظ

    سلام
    در مورد کتابهای ایرانی اطلاعاتی ندارم اما کتابهای انگلیسی اکثرا خوب هستن

    پاسخ دادن
بهمن ۱۶, ۱۳۹۲ @ ۶:۳۹ ب.ظ

بازم سلام دوست عزیز میشه بفرمایید ساخت یک ارشیو برای یک وب سایت ساده با پی اچ پی و مای اس کیو ال چی میشه؟

پاسخ دادن
اسفند ۲۰, ۱۳۹۲ @ ۱۲:۳۸ ب.ظ

عالی بود
واقعاً ذهنم رو آروم کردی.
ممنون از نکات ارزشمندی که بهِمون میگی.

پاسخ دادن
خرداد ۲۰, ۱۳۹۳ @ ۱۱:۴۲ ق.ظ

کار نمیکنه!

تو فایل htaccess گذاشتم ولی وقتی یه آدرس الکی میزنم کار نمیکنه و صفحه پیشفرض میاد

پاسخ دادن

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *


*