• 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
جلوگیری از نمایش پیغام خطا
#1
سلام
درفرم ها که ما خیلی با اونها سر و کار داریم ممکنه که فیلدی که مثلا مال نام طرفه، مثلا با اسم name و به شکل زیر:
کد پی‌اچ‌پی:
<input type="text" name="name"/> 
اسمش تغییر کنه. یعنی وقتی ما طرف سرور چنین کدی می نویسیم:
کد پی‌اچ‌پی:
$name $_POST['name']; 
اگر کاربر نام فیلد رو تغییر بده ( به راحتی و با استفاده از inspect element مرورگر) پیغام خطایی مشاهده می کنه و همچنین ممکنه کل کد به هم بریزه.
می خواستم ببینم چه راه حلی وجود داره و آیا می شه با استفاده از try...catch این مشکل رو حل کرد و از اجرای ادامه کد جلوگیری کرد؟ و یا راه دیگری برای این مشکل وجود داره؟ چون اگر بخوایم برای تمام فیلدها از isset() استفاده کنیم هم کد شلوغ می شه و هم کار ما سخت.
  پاسخ
تشکر شده توسط :
#2
کد پی‌اچ‌پی:
error_reporting(0); 
وبلاگ rezaonline.net/blog
سفارش برنامه نویسی reza.biz
Php , mysql , postgresql , redis , Yii and ... Cool
  پاسخ
تشکر شده توسط : AlirezaHS
#3
(۱۳۹۳ تير ۱۸, ۰۴:۱۲ ب.ظ)Reza نوشته:
کد پی‌اچ‌پی:
error_reporting(0); 

و چطور می تونیم از اجرای ادامه ی کد جلوگیری کنیم؟
  پاسخ
تشکر شده توسط :
#4
راه اصولیش همون استفاده از isset و try catch هست.
از try ... catch میشه استفاده کرد.
رمضان خونین غزه
برای پیروزی مردم غزه دعا کنیم
  پاسخ
تشکر شده توسط :
#5
(۱۳۹۳ تير ۱۸, ۰۶:۰۰ ب.ظ)AlirezaHS نوشته:
(۱۳۹۳ تير ۱۸, ۰۴:۱۲ ب.ظ)Reza نوشته:
کد پی‌اچ‌پی:
error_reporting(0); 

و چطور می تونیم از اجرای ادامه ی کد جلوگیری کنیم؟
اگر notice باشه که مشکلی برای برنامه ایجاد نمیکنه در هر صورت میتونید خودتون یک تابع بنویسید و با set_error_handler معرفی اش کنید به پی اچ پی که در صورت خطا این تابع اجرا بشه و توش میتونید هر چیزی بنویسید .
کد پی‌اچ‌پی:
set_error_handler('_exception_handler');

function 
_exception_handler($severity$msg$file$line)
{
    die(
"$severity  msg: $msg infile $file line $line");

وبلاگ rezaonline.net/blog
سفارش برنامه نویسی reza.biz
Php , mysql , postgresql , redis , Yii and ... Cool
  پاسخ
تشکر شده توسط :


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان