View Full Version : نمایش خطاهای یک فرم
Mohajerx
جمعه 23 شهریور 1386, 02:18 صبح
یک فرم داریم که مثلا ممکنه کاربر بخش نام کاربری و ایمیل و یه بخش دیگه رو اشتباه وارد کنه و برنامه خطا بگیره. حالا به چه صورت میشه که این خطاها رو یکجا در آخر جمع کرد و به کاربر نمایش داد ؟
در کل پیشنهاد شما برای اینکه خطایابی کرد یک فرم رو و به کاربران نمایش داد خطاهای ایجاد شده رو چیست ؟
cybercoder
جمعه 23 شهریور 1386, 02:45 صبح
فبلش باید چک کنی
قبلا بحث شده جستجو کن
moohssenn
جمعه 23 شهریور 1386, 16: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, 20: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
شنبه 24 شهریور 1386, 00:27 صبح
به نظر من اگه کاربر نام کاربری ، رمز عبور یا ای میل رو برای ورود به سایت اشتباه وارد می کنه بهتره برای همهء حالتهای اشتباه یه پیغام خطا بدی
مثلا :
نام کاربری یا رمز عبور اشتباه است
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.