النتائج 1 إلى 5 من 5

الموضوع: اول درس لدورة ال php .. همه يا شباب

  1. #1
    عضو فعال جدا
    تاريخ التسجيل
    Jun 2004
    المشاركات
    2,297

    اول درس لدورة ال php .. همه يا شباب



    هناك ثلاث أنواع من الأخطاء في php

    Parse Errors
    Header Errors
    mySQL Result Source Errors خلل في نتائج الإستعلام في قاعدةالبيانات

    Parse Errors
    مثال

    كود:
    Parse error: parse error, unexpected T_STRING in /home/www/html/script/cat.php on line 11
    سبب الخلل هو خلل بسيط في عملية ترجمة البرنامج و هو غالبا خطأ مطبعي قد تكون نسيت الفاصلة المنقوطة ; أو نسيت إقفال الأقواس أو اخطأ ت في صيغة الدالة مثلا الدالة تأخذ متغير واحد و انت وضعت 2 و هكذا .

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



    كود PHP:
    PHP CODE :  <?  
    if($test==1){  
    echo 
    "one";}  
    else{ echo 
    "two"; }  
    ?>
    و لكن نسقة بهذا الشكل



    كود PHP:
    PHP CODE :  <? 
    if($test==1){  
           echo 
    "one";  

    else{  
        echo 
    "two";  
    ?>
    لتعرف بداية و نهاية كل كود كما يستحسن استخدام أحد المحررات التي تسمح بتلوين الشفرة لتعرف في حال نسيت إقفال أقواس النص .

    Header Errors
    مثال



    كود:
    Warning: Cannot add header information - headers already sent by (output started at /home/www/html/test/showclass.php:9) in /home/www/html/test/showclass.php on line 10

    سبب الخللدالات HTTP header هي دالة موجود في الphp تستخدم لعدة أسباب منها و هي دالات يجب أن توضع قبل طباعة أي شئ حتى السطر الفارغ أي يجب أن لا يظهر قبلها سطر فارغ و أن لايطبع قبلها اي شئ في المتصفح سواء باستخدام الhtml العادي أو بأستخدام دالة echo أو print أحد أكثر الدالات من هذا النوع استخداما هي



    Header("location: http://ww.qatardr.net.com");
    و
    setcookie()


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

    mySQL Result Source Errors
    مثال

    كود:
    Warning: Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/virtual/site5/fst/php/error/index.php on line 3
    سبب الخلل حسنا اكتشاف هذا الخلل يجتاج للقليل من البحث و في الغالب المشكلة في المتغير result و الذي يستخدم في حلقة التكرار loop مثلا لو كان الكود بالشكل التالي



    PHP CODE :
    كود PHP:
    <? 
    $result 
    mysql_query("select * from shoutbox ORER by id desc limit 5"); 
    //problem on the above line, ORDER is misspelled 
    while($r=mysql_fetch_array($result)) 
    {   
     
    $time=$r["time"]; //getting each variable from the table 
     
    $id=$r["id"]; 
     
    $message=$r["message"]; 
     
    $name=$r["name"]; 

    ?>
    ستلاحظ أن الخلل في الدالة mysql_fetch_array لكن في الحقيقة الخلل في المتغير result فهو السبب كونه لم يحتوى على نتائج من الإستعلام و الخلل به حيث لو لاحظت الاستعلام كلمة order غير صحيحة

    الحل أولا اذهب إلى السطر الذي يقوم الphpان الخلل به

    تأكد من ان السطر صحيح و في اغلب الأوقات سيكون صحيح و الأن انتقل إلى الأعلى قليلا و انظر للمتغير result من أين يأخذ نتائجة في حالتنا كانت المشكلةفي الإستعلام لكن البphpلم يعلم بل اظهر أن الخلل في السطر المحتوي علىmysql_fetch_array

    ملحوظة أخيرة
    احيانا قد تظهر رسالة خلل و يبدو كل شئ صحيح لكن سيظهر لك البرنامج نوع من التحذير يمكنك وقف هذا التحذير باستخدام الرمز @ قبل الدالة مثلا @mysql_fetch_array

    المصدر : http://qatardr.net/showclass.php?classid=876





    __________________
    شبكة شباب سوفت للبرامج
    http://www.sh2soft.net

    قال الله تعالى: ( ومن يتق الله يجعل له مخرجاً، ويرزقه من حيث لايحتسب)


  2. #2
    عضو سوبر نشيط
    تاريخ التسجيل
    Nov 2003
    المشاركات
    669


    لسلام عليكم ورحمة الله وبركاته

    يعطيك العافية على الدرس ولا هنت يا الغالي

    وأحب الضيف التالي :-

    في بعض الأحيان تظهر لك رسالة خطأ .. ويكون كود البرمجة الخاص بك صحيح 100% .. أين الخطأ ؟

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

    كود PHP:
    function abdullah($a)
    {
    $a=$a/0;
    return 
    $a;

    لطباعة الدالة

    كود PHP:
    echo abdullah(5); 
    سيظهر لك خطأ في الصفحة إنظر إلى التالي


    كود PHP:
    echo @ abdullah(5); 
    لن يظهر الخطأ .. بكتابتي للحرف @ .. أي تجاهل لهذا الخطأ ..

    أيضاً .. بعض الدوالات التي تجدها في موقع php.net تجد انها لا تعمل إلا إذا وضعت قبل الدالة الحرف أو الرمز @ ..

    كرر إستخدام الطريقة ورح ترسخ عندك المعلومة

    تحياتي ،،،





    __________________
    الإستضافات :

    http://www.ala7lam.net/host.html

    موضوع الإستضافات وخدماتنا :

    إستضافات وخدمات شبكة الأحلام التطويرية ...

  3. #3
    عضو فعال جدا
    تاريخ التسجيل
    Jun 2004
    المشاركات
    2,297


    يجزاك الجنه يخوي ،،، لمرورك وطرحك تكملت الدرس





    __________________
    شبكة شباب سوفت للبرامج
    http://www.sh2soft.net

    قال الله تعالى: ( ومن يتق الله يجعل له مخرجاً، ويرزقه من حيث لايحتسب)

  4. #4


    تسلم أخوي

    وجزاك الله الف خير



    وفي إنتظار جديدك


    تحياتي





    __________________
    كود:
    Www.SaDness-GuY.Biz

  5. #5


    كيف توقف عرض الأخطاء على صفحات موقعك ؟؟

    في ملف php.ini الموجود في مجلد السيرفر الشخصي أو في مجلد c:\windows\system32


    قم بالبحث في هذا الملف عن جملة display_errors=on

    قم بتغيير on إلى off وبعدها قم بإعادة التشغيل للأباتشي


    الآن لن تظهر الأخطاء الخاصة بالبي اتش بي


    تحيتي





    __________________
    إستخدم ملفك الخاص لكتابة توقيعك





ضوابط المشاركة

  • لا تستطيع إضافة مواضيع جديدة
  • لا تستطيع الرد على المواضيع
  • لا تستطيع إرفاق ملفات
  • لا تستطيع تعديل مشاركاتك
  •  

أضف موقعك هنا| اخبار السيارات | حراج | شقق للايجار في الكويت | بيوت للبيع في الكويت | دليل الكويت العقاري | مقروء | شركة كشف تسربات المياه | شركة عزل اسطح بالرياض | عزل فوم بالرياض| عزل اسطح بالرياض | كشف تسربات المياة بالرياض | شركة عزل اسطح بالرياض