PDA

View Full Version : نمایش خطاهای یک فرم



Mohajerx
جمعه 23 شهریور 1386, 01:18 صبح
یک فرم داریم که مثلا ممکنه کاربر بخش نام کاربری و ایمیل و یه بخش دیگه رو اشتباه وارد کنه و برنامه خطا بگیره. حالا به چه صورت میشه که این خطاها رو یکجا در آخر جمع کرد و به کاربر نمایش داد ؟

در کل پیشنهاد شما برای اینکه خطایابی کرد یک فرم رو و به کاربران نمایش داد خطاهای ایجاد شده رو چیست ؟

cybercoder
جمعه 23 شهریور 1386, 01:45 صبح
فبلش باید چک کنی
قبلا بحث شده جستجو کن

moohssenn
جمعه 23 شهریور 1386, 15:52 عصر
یکی از موارد بسیار مهمی که در php و هر زبان برنامه نویسی وجود داره مدیریت خطا ها است .

اکثر برنامه نویسهای php برای اینکه خطاهای برنامشون توسط استفاده کننده قابل مشاهده نباشه خاصیت display_errors را در فایل php.ini با مقدار صفر مقدار دهی میکنند تا ایراد برنامه نشون داده نشود . اما روش مناسب دیگری نیز وجو داره که شما میتونید ایرادات ایجاد شده در برنامتون را در یک فایل ذخیره کرده و در فرصت مناسب به بررسی آنها بپردازید .

برای این کار شما باید خاصیت log_errors را در فایل php.ini با On مقدار دهی کنید و خاصیت error_log را نیز با نام فایل مربوطه که میخواهید ایرادات در آن نوشته شود مقدار دهی کنید .

در ضمن مقدار log_errors_max_len نیز حجم فایل مربوطه را مشخص میکنه تا از اون حجم فایل مربوطه بیشتر نشود .

در ضمن ایراداتی که ذخیره میشوند بسته به خاصیت error_reporting و نحوه تنظیم آن بستگی دارد .

تمامی خاصیتهای ذکر شده مربوط به فایل php.ini . تنظیمات آن بستگی داره . اما از آنجائی که اکثرا برری هاستینگها به این فایل دسترسی نداریم با استفاده از تابع ini_set میتونیم این تنظیمات رو در فایلهای برنامه خودمان مقدار دهی کنیم مثالا برای مقدار دهی خاصیت display_errors در فایل برنامه خودمون به طریق زیر عمل میکنیم :



ini_set('display_errors',1);


تمامی تنظیمات ذکر شده در این بخش رو میتونید به روش ذکر شده مقدار دهی کنید .

peyman1987
جمعه 23 شهریور 1386, 19:39 عصر
من روش کارم اینجوریه که خطاهای موجود رو چک میکنم و داخل یه آرایه میریزم و یه جا به کاربر نشون میدم. کار مشکلی نیست. مثل کد زیر :


<?PHP
IF(Error1)
$Errors[] = "Error1";
IF(Error2)
$Errors[] = "Error2";
IF(Error3)
$Errors[] = "Error3";
IF(Error4)
$Errors[] = "Error4";

FOREACH($Errors AS $strError)
PRINT("<LI>$strError</LI>");
?>

Bahram0110
جمعه 23 شهریور 1386, 23:27 عصر
به نظر من اگه کاربر نام کاربری ، رمز عبور یا ای میل رو برای ورود به سایت اشتباه وارد می کنه بهتره برای همهء حالتهای اشتباه یه پیغام خطا بدی

مثلا :
نام کاربری یا رمز عبور اشتباه است