ساختن دستی Error مثل پیام های خطای PHP
ژوئن 10, 2007 at 11:34 ق.ظ | In HTML و JavaScript, PHP | 1 Commentسلام.
وقتی شما یک دستور در 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: این پارامتر اختیاری نوع خطارا مشخص می کند، شما می توانید آن را از جدول بالا انتخاب کنید.
موفق باشید.
۱ دیدگاه »
RSS برای دیدگاههای این نوشته. آدرس دنبالک
دیدگاهتان را بنویسید:
وبلاگ روی وردپرس.کام. | Theme: Pool by Borja Fernandez.
Entries and comments feeds.
[...] نقل کردم در phpfa [...]
http://www.phpfa.com/1386/07/05/redirecting-in-php/
Comment با محمد جعفر — سپتامبر 27, 2007 #