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

 

العودة   سوالف سوفت > قسم تطوير وبرمجة المواقع للمتقدمين > PHP
المدوّنات البحث مشاركات اليوم اجعل كافة المشاركات مقروءة

رد  
 
LinkBack أدوات الموضوع
عضو فعال
تاريخ التسجيل: Jun 2005-
#1 (permalink)  
أخطاء تواجهك في الـphp أسبابها و طرق علاجها


[CENTER]الفكرة العامة

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

1 - Parse Errors
2 - Header Errors
3 - 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:
<?  if($test==1){  echo "one";}  else{ echo "two"; }  ?>
و لكن نسقة بهذا الشكل

كود PHP:
  <? 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:
<? $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


تحياتى للجميع ؛؛

[/CENTER]






__________________
Condor ... will be back

التعديل الأخير تم بواسطة : ElNeMr بتاريخ 11-08-2005 الساعة 02:47 AM. سبب آخر: تصحيح كود PHP
ElNeMr غير متواجد حالياً   قديم 11-08-2005, 02:45 AM
رد مع اقتباس
عضو فعال جدا
تاريخ التسجيل: Jun 2003-
#2 (permalink)  

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






__________________
htaccess بكل بساطة

الشفرة الموحدة "يونِكود"

(إن من مفاسد هذه الحضارة أنها تسمي الاحتيال ذكاءً، والانحلال حرية، و"الرذيلة فناً" والاستغلال معونة) - مصطفى السباعي
jadweb.com غير متواجد حالياً   قديم 11-08-2005, 09:14 PM
رد مع اقتباس
عضو فعال
تاريخ التسجيل: Jun 2005-
#3 (permalink)  

مشكور اخى jadweb.com

وانشالله الدرس يكون عجبك

تحياتى ؛






__________________
Condor ... will be back
ElNeMr غير متواجد حالياً   قديم 12-08-2005, 12:05 AM
رد مع اقتباس
عضو فعال جدا
تاريخ التسجيل: Jun 2003-
#4 (permalink)  

ما يحتاج اخوي شرح وافي الله يجزاك خير .






__________________
htaccess بكل بساطة

الشفرة الموحدة "يونِكود"

(إن من مفاسد هذه الحضارة أنها تسمي الاحتيال ذكاءً، والانحلال حرية، و"الرذيلة فناً" والاستغلال معونة) - مصطفى السباعي
jadweb.com غير متواجد حالياً   قديم 12-08-2005, 03:43 AM
رد مع اقتباس
عضو سوبر نشيط
تاريخ التسجيل: Aug 2002-
#5 (permalink)  

جزيت خيرا على هالشرح






BOMBER غير متواجد حالياً   قديم 12-08-2005, 08:43 AM
رد مع اقتباس
عضو فعال
تاريخ التسجيل: Jun 2005-
#6 (permalink)  

الف شكر على مروركم






__________________
Condor ... will be back
ElNeMr غير متواجد حالياً   قديم 12-08-2005, 04:11 PM
رد مع اقتباس
عضو نشيط جدا
تاريخ التسجيل: Apr 2004-
#7 (permalink)  

الف شكر درس رائع






__________________
لا إله إلا انت سبحانك إني كنت من الظالمين ..



(ترتيب وإحصائيات موقعك في رتب: أول موقع عربي للإحصائيات)
الزمزمي للتصميم
PhotoKing غير متواجد حالياً   قديم 13-08-2005, 02:17 AM
رد مع اقتباس
عضو نشيط جدا
تاريخ التسجيل: Jan 2002-
#8 (permalink)  
طيب حل مشكلتي

You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1






__________________
إذا كنت تريد أن تكون قائداً
فسل عن كل صغيرة و كبيرة كيف تكونت
hishamorg غير متواجد حالياً   قديم 13-08-2005, 06:00 AM
رد مع اقتباس
عضو نشيط جدا
تاريخ التسجيل: Jun 2003-
#9 (permalink)  

مشكور اخى ElNeMr

بارك الله فيك

أخى hishamorg
اكتب الكود لنرى ايه الخطأ






__________________
سبحان الله
الحمد لله
لا إله إلا الله
الله أكبر

يستخدم هذا الحساب 3 أشخاص
mta غير متواجد حالياً   قديم 13-08-2005, 06:27 PM
رد مع اقتباس
عضو جديد
تاريخ التسجيل: Jun 2005-
#10 (permalink)  

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

---------------------

الف شكر أخى النمر

درس رائع

نتمنى منك المزيد

اخوك ميزو






__________________
قل لن يصيبنا الا ما كتب الله لنا
ميزو باشا غير متواجد حالياً   قديم 13-08-2005, 07:53 PM
رد مع اقتباس
عضو فعال
تاريخ التسجيل: Jun 2005-
#11 (permalink)  

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






__________________
Condor ... will be back
ElNeMr غير متواجد حالياً   قديم 13-08-2005, 08:16 PM
رد مع اقتباس
عضو فعال
تاريخ التسجيل: Feb 2002-
#12 (permalink)  

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

can not read clear

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



اقتباس:
المشاركة الأصلية كتبت بواسطة hishamorg
You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
مشكلتك في طريقة كتابة الاستعلام لقاعدة البيانات واستخدامك لعلامات التنصيص أو علامة الاقتباس المفردة '






__________________
ومامن كاتب إلا سيفنى ****** ويبقي الدهر ماكتبت يداه
فلا تكتب بكفك غير شيء ****** يسرك يوم القيامة أن تراه
Dr.Server غير متواجد حالياً   قديم 14-08-2005, 02:39 AM
رد مع اقتباس
عضو نشيط
تاريخ التسجيل: Mar 2005-
#13 (permalink)  

خطأ آخر
كود PHP:
Fatal errorCall to a member function Sd() on a non-object in d:wampwwwMySBBs.php on line 27 
يظهر لك عند عدم استخدام فانكشن او كلاس بشكل صحيح

حطأ آخر
كود PHP:

Warning
Missing argument 4 for MySPSQL::PagePer() in d:wampwwwMySBBclass_sql.php on line 99 
يظهر عند عدم ادخال جميع قيم فانكشن في كلاس معين

مع اجمل تحية






__________________
حينما يموت الحل ... يولد الإبداع
شباب القمر
سجن البرمجة
أحد مستخدمي : MySmartBB
Dr.Nabhan غير متواجد حالياً   قديم 14-08-2005, 05:33 AM
رد مع اقتباس
عضو فعال
تاريخ التسجيل: Jun 2005-
#14 (permalink)  

الف شكر أخوانى الاعزاء على دعمكم للموضوع

مشكور أخى / Dr.Server

مشكور أخى / AsHeQ ALGaMaR

مشكورين جميعاً

وانشاء الله هجمع ما استطيع تجميعه من الاخطاء واقوم بطرحها فى الموضوع

تحياتى للجميع ؛؛






__________________
Condor ... will be back
ElNeMr غير متواجد حالياً   قديم 14-08-2005, 06:26 AM
رد مع اقتباس
عضو نشيط جدا
تاريخ التسجيل: Jan 2005-
#15 (permalink)  

خطأ نراه بكثرة

Call to undefined function

كود PHP:
Fatal errorCall to undefined function: mysql_psconnect() in c:apachehtdocsadsadconn.php on line 18 
و هذا يعني ان الدالة لم يتم تعريفها مسبقاً أو انها ليست بدالة

اجمل التحيات






__________________
اللهم أعز الاسلام و المسلمين
ALaa462 غير متواجد حالياً   قديم 14-08-2005, 05:01 PM
رد مع اقتباس
عضو نشيط
تاريخ التسجيل: Dec 2003-
#16 (permalink)  

كود PHP:
Warningsession_start(): Cannot send session cookie headers already sent by (output started at /home/awaltech/public_html/login/inthename.php:1in /home/awaltech/public_html/login/inthename.php on line 2 
كود PHP:
Warningsession_start(): Cannot send session cache limiter headers already sent (output started at /home/awaltech/public_html/login/inthename.php:1in /home/awaltech/public_html/login/inthename.php on line 2 

طيب ممكن تقولي ايش الأخطاء هذه







__________________
خطط إسظافة مغرية جداً
تصميم مواقع مميزة
برمجة مواقع
http://www.awaltech.org (عربي)
http://www.awaltech.net (English)
-------------------
برمجة موقع بي إتش بي اليمن = (15%)
awalnet-ye.com غير متواجد حالياً   قديم 15-08-2005, 12:07 AM
رد مع اقتباس
عضو نشيط
تاريخ التسجيل: May 2001-
#17 (permalink)  

السلام عليكم
أخي الفاضل كاتب الموضوع أليس من العدل أن تذكر الموقع الذي نقلت منه الموضوع حفظا لحقوق مترجم أو كاتب الموضوع ..
http://qatardr.net/class/876

خاصة أنك نقلته كاملا بدون تعديل أو تغيير ..

و شكرا لك ..






__________________
مفضلتي :
---------------------------------------
- الدكتور نت
http://qatardr.net
-sitepoint
http://sitepoint.com
-css Beauty
http://www.cssbeauty.com/
code غير متواجد حالياً   قديم 15-08-2005, 03:20 PM
رد مع اقتباس
عضو فعال
تاريخ التسجيل: Jun 2005-
#18 (permalink)  

اقتباس:
المشاركة الأصلية كتبت بواسطة awalnet-ye.com
كود PHP:
Warningsession_start(): Cannot send session cookie headers already sent by (output started at /home/awaltech/public_html/login/inthename.php:1in /home/awaltech/public_html/login/inthename.php on line 2 
كود PHP:
Warningsession_start(): Cannot send session cache limiter headers already sent (output started at /home/awaltech/public_html/login/inthename.php:1in /home/awaltech/public_html/login/inthename.php on line 2 

طيب ممكن تقولي ايش الأخطاء هذه

الخطأ هاتلاقية فى اخر سطر هاتلاقى انة فى سطور فاضية زيادة فى اخر صفحة ال php
احذفها وهاتلاقى المشكلة اتحلت
والله الموفق






__________________
Condor ... will be back
ElNeMr غير متواجد حالياً   قديم 16-08-2005, 01:29 AM
رد مع اقتباس
عضو فعال
تاريخ التسجيل: Jun 2005-
#19 (permalink)  

اقتباس:
المشاركة الأصلية كتبت بواسطة code
السلام عليكم
أخي الفاضل كاتب الموضوع أليس من العدل أن تذكر الموقع الذي نقلت منه الموضوع حفظا لحقوق مترجم أو كاتب الموضوع ..
http://qatardr.net/class/876

خاصة أنك نقلته كاملا بدون تعديل أو تغيير ..

و شكرا لك ..
اخى ردى عليك فى هذا السطر

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






__________________
Condor ... will be back
ElNeMr غير متواجد حالياً   قديم 16-08-2005, 01:32 AM
رد مع اقتباس
عضو نشيط جدا
تاريخ التسجيل: Jan 2005-
#20 (permalink)  

اخ awalnet-ye.com

اذكر بان الخطا قد واجهني مرة عالسيرفر الشخصي و السبب يعود الى عدم تحديد مسار مجلد الـ Temp في ملف php.ini






__________________
اللهم أعز الاسلام و المسلمين
ALaa462 غير متواجد حالياً   قديم 16-08-2005, 02:37 AM
رد مع اقتباس
رد


 

أدوات الموضوع

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

كود [IMG] متاحة
كود HTML معطلة
Trackbacks are متاحة
Pingbacks are متاحة
Refbacks are متاحة



الساعة الآن: 07:43 AM بتوقيت المملكة العربية السعودية