ساختن دستی Error مثل پیام های خطای PHP

سلام.

وقتی شما یک دستور در PHP را اشتباه وارد کنید، یا در آخر خط کاراکتر «;» را قرار ندهید، در خروجی برنامه یک Error ایجاد می شود.و وقتی شما مثلا یک دستور MySQL رو اشتباه وارد کنید یک خطا ایجاد میشود که البته مخفی می ماند و درخواست اجرا نمی شود. خیلی از برنامه نویسان از شکل زیر برای گزارش خطا استفاده می کنند:

php?>
mysql_query(«Raindigital query») or die(mysql_error());//Error report
<?

ولی این روش یک ایراد امنیتی دارد. برای ظاهر زیبا تر شما می توانید پیام خطا را مثل خطا های PHP بکنید، یا این که مثلا اگر کسی در فرم عضویت سایت شما چیزی را اشتباه وارد کرد، شما یک خطای PHP به کاربر نشان بدهید(که البته به نظر من زیاد جالب نیست).

باید بدانید که خطا های PHP چند دسته اند:

عدد ثابت(constant) مفهوم
1 E_ERROR خطای مهلک زمان اجرا
2 E_WARNING خطای مهلک زمان اجرا
4 E_PARSE اخطار های زمان اجرا(non-fatal)
8 E_NOTICE توجهات(notices)زمان اجرا
16 E_CORE_ERROR خطاهای مهلکی که در اولین راه اندازی(startup)PHP رخ می دهند(مخصوص PHP4)
32 E_CORE اختار هایی که از نو fatal نیستند و در اولین راه اندازی PHP رخ می دهند(مخصوصPHP4)
64 E_COMPILE_ERROR خطا های مهلکزمان ترجمه (مخصوص PHP4)
128 E_COMPILE_WARNING اختار های(خطایی از نوع fatal نیستند) زمان ترجمه (مخصوص PHP4)
256 E_USER_ERROR پیام خطایی که در سمت کاربر ایجاد می شود(مخصوص PHP4)
512 E_USER_WARNING پیام های اخطاری که در سمت کاربر ایجاد می شوند(مخصوص PHP4)
1024 E_USER_NOTICE توجهاتی که در سمت کاربر ایجاد می شوند(مخصوص PHP4)
  E_ALL تمام سطوح ذکر شده(آن هایی که پشتیبانی می شوند)

برای این که ما یک Error مثل PHP ایجاد کنیم باید نوع آن را هم تعیین کنیم.
برای همین هم باید این جدول را حفظ باشیم یا در موقع نوشتن برنامه این جدول پیش چشم ما باشد.
وهمین طور برای تشخیص این که خطاهای PHP از کجا ریشه گرفته اند،باید این جدول را همراه داشته باشیم.
ساختار دستوری تابع در کد زیر آمده:

php?>
trigger_error(message[,ERRROR_TYPE]);//PHP error
<?

توضیح پارامتر ها:
message:
این پارامتر پیام خطایی که باید نمایش داده شود را دریافت می کند.
ERROR_TYPE: این پارامتر اختیاری نوع خطارا مشخص می کند، شما می توانید آن را از جدول بالا انتخاب کنید.

موفق باشید.

  1. #1 توسط محمد جعفر در سپتامبر 27, 2007 - 2:05 ب.ظ.

    […] نقل کردم در phpfa […]

    http://www.phpfa.com/1386/07/05/redirecting-in-php/

پاسخی بگذارید

در پایین مشخصات خود را پر کنید یا برای ورود روی شمایل‌ها کلیک نمایید:

نشان‌وارهٔ وردپرس.کام

شما در حال بیان دیدگاه با حساب کاربری WordPress.com خود هستید. بیرون رفتن / تغییر دادن )

تصویر توییتر

شما در حال بیان دیدگاه با حساب کاربری Twitter خود هستید. بیرون رفتن / تغییر دادن )

عکس فیسبوک

شما در حال بیان دیدگاه با حساب کاربری Facebook خود هستید. بیرون رفتن / تغییر دادن )

عکس گوگل+

شما در حال بیان دیدگاه با حساب کاربری Google+ خود هستید. بیرون رفتن / تغییر دادن )

درحال اتصال به %s

%d وب‌نوشت‌نویس این را دوست دارند: