المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : الاخطاء البرمجية وكيفية معالجتها


MOHAMED
03-11-2011, 06:54 PM
بسم الله الرحمن الرحيم
السلام عليكم ورحمة الله وبركاته



سنتكلم عن الاخطاء التى تواجه المبتدئين فى PHP
وسنتكلم الآن عن نوع من الأخطاء شائع جداً ,, وهو Syntax error
ومنه خطأ Parse error وهو الخطأ الكتابى مثل نسيان حرف أو الفاصلة المنقوطة فى نهاية الكود مثال


$RG = 'Riad Al-Ganah'



هنا نسينا الفاصلة المنقوطة نتج هنا خطأ Parse Error
وهنا لا بد ان نعرف ان مترجم PHP لا يحدد لك السطر الذى به الخطأ عند نسيان الفاصلة المنقوطة خاصة مثل لو الخطأ فى السطر 3 يظهر لك الخطأ
بعد الترجمة فى سطر 5 أو 6 وهكذا وهو خطأ كتابى لذا عند كتابة أى سطر فى اى كود تأكد من كتابة الفاصلة المنقوطة وانا بنبه على هذا النوع من الاخطاء
لانك مترجم PHP بيقولك ان الخطأ فى سطر 5 وهو فى سطر 3 فتحتار فلازم تنتبه حتى لا تحتار فى إيجاد الخطأ
ويمكن ان يكون الخطأ بنسيان قوس أو علامة تنصيص فهنا PHP يحدد لك سطر الخطأ وهذه ميزة جيدة انما
الذى ليس بجيد مثلاً اننا عملنا شرط مثل


If ($RG=='Riadona') {

print $RG;

}else{

print 'SORRY';

}

}


هنا اللى يدقق فى الكود السابق يجد اننا اضفنا اداة انتهاء شرط زائدة وهى } فى آخر الكود
هنا PHP لا يحدد سطر الخطأ فقد يقول لك الخطأ فى آخر سطر فى الصفحة لذا لا بد من الانتباه فالبنسبة للمبتدئين
مثل هذه الاخطاء تخليهم ييأسوا من برمجة PHP ويقولوا انها صعبة بالعكس PHP لغة من اسهل لغات برمجة الويب
فهى ليست كلغة الهتمل المعقدة وهناك نوع آخر من الاخطاء وهو الخطأ الفعلى وهذا أيضاً صعب ايجاده او بمعنى آخر
بالنسبة للمبتدئ مستحيل ايجاده مثل


$RG = 'db';

mysql_select_db($RG);


هنا الكود سليم مية فى المية حد يطلع خطأ هنا مفيش طبعا الخطأ اللى سيحصل هنا انه لو لم يجد قاعدة البيانات
المحددة يظهر الخطأ الفعلى ويقف عمل السكربت فمثلا لو عملنا سكربت وادخل المستخدم اسم قاعدة خطأ
هنا السكربت حيقف بالكامل لحل المشكلة كالتالى



$RG = 'db';

$SDB = @mysql_select_db($RG);



لاحظ الفرق هنا سنجد اننا وضعنا الدالة فى قيمة متغير لينفذها واضفنا قبل الدالة @ تجنب ظهور رسالة خطأ عند الترجمة
وبدلا من ذلك يظهر الخطأ الذى حدث وهو عدم وجود القاعدة لذا الشكل النهائي للكود يكون


$RG = 'db';

$SDB = @mysql_select_db($RG) or die(mysql_error());



وهذا هو درسنا لليوم اى استفسار انا حاضر اى مشكلة موجود نكمل الدرس فى وقت لاحق ان شاء الله

khaledbelal
03-12-2011, 03:52 PM
ما شاء الله

بارك الله فيك يا غالي وجعله في ميزان حسناتك

وينك يا غالي وحشتنا طمنا عليك