أهلا وسهلا بك زائرنا الكريم في JO1R FORUM | منتديات شباب و صبايا الأردن، لكي تتمكن من المشاركة ومشاهدة جميع أقسام المنتدى وكافة الميزات ، يجب عليك إنشاء حساب جديد بالتسجيل بالضغط هنا أو تسجيل الدخول اضغط هنا إذا كنت عضواً .

اساسيات لتعلم لغـة البرمجة PHP موضوع متجدد

قبل أن نبدأ في تعلم لغة بي إتش بي، دعونا نتناول بعض أساسيات البرمجة، والتي هي ضرورية لكل شخص يريد أن يتعلم البرمجة بأي لغة، ونقول أولاً بأن البرمجة عل



17-04-2009 09:34 صباحاً
معلومات الكاتب ▼
تاريخ الإنضمام : 04-07-2007
رقم العضوية : 1
المشاركات : 11,317
الدولة : Jordan
الجنس :
تاريخ الميلاد : 10-7-1986
قوة السمعة : 2,147,483,647
موقعي : زيارة موقعي
قبل أن نبدأ في تعلم لغة بي إتش بي، دعونا نتناول بعض أساسيات البرمجة، والتي هي ضرورية لكل شخص يريد أن يتعلم البرمجة بأي لغة، ونقول أولاً بأن البرمجة علم وفن، هي علم حيث لها أساسياتها وقواعدها، وهذه الأساسيات يجب أن يتعلمها كل شخص يريد أن يصبح مبرمج، وهي فن حيث الجانب الإبداعي فيها كبير، والفكرة الواحدة يستطيع المبرمج تنفيذها بأكثر من طريقة، والمبدع حقاً من يقوم بكتابة شفرة البرنامج بأبسط أسلوب وأسهله، وكذلك يكتب الشفرة بحيث تكون سريعة التنفيذ على الحاسوب وقابلة للتطوير وتصحيح الأخطاء فيها بسهولة.

ولو نظرنا في فئة معينة من البرامج، وبدأنا بتجميع كل البرامج التي تم إنتاجها في هذه الفئة، وقارنا بينها نجد أن بعض البرامج فيها خصائص ومميزات أكثر من غيرها، وهذا يرجع إلى حنكة وإبداع المبرمج، وعلى الرغم من أن هذه البرامج متشابهه في مهماتها إلا أن بعضها يتميز في سهولة استخدامه وكثرة الوظائف التي يؤديها ومرونته الكبيرة، وهذا هو الإبداع في البرمجة.

الفكرة والتخطيط

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

كل هذه الخصائص تستطيع أن تضعها في برنامجك، المهم أن تضع الهدف بوضوح للبرنامج ثم تضع الخصائص المطلوبة لهذا البرنامج وعندما تبدأ في البرمجة سيسهل عليك هذا التخطيط مهمة البرمجة وكتابة الشفرة.

ما هو البرنامج؟
سؤال قد يطرحه أحدكم، ما هو البرنامج؟ هو مجموعة من الأوامر التي كتبت بأي لغة برمجة، وتكون هذه الأوامر في ملف أو أكثر، ويقوم الحاسوب بتنفيذ هذه الأوامر ليخرج بنتائج معينة يريدها المبرمج، ولكل برنامج مدخلات (input) ومخرجات (output)، ودعونا نشرح هذا أكثر.

تصوروا برنامج للمنتديات، هذا البرنامج يحتوي على العديد من الأوامر والوظائف المرتبة والمخزنة في عدة ملفات، يقوم هذا البرنامج بأخذ المدخلات وهي في حالة المنتدى المواضيع والردود والتواقيع وأسماء الأعضاء... إلخ، ويعالجها ليخرج لنا بمخرجات نريدها، وهي المواضيع المرتبة حسب طريقة معينة وجميع النتائج الأخرى.

البرمجة
البرمجة بكل بساطة هي عملية كتابة الشفرة للفكرة أو البرنامج المطلوب.
توقيع :JO1R
:no::no::no::no:

look/images/icons/i1.gif اساسيات لتعلم لغـة البرمجة PHP .. موضوع متجدد
  17-04-2009 09:37 صباحاً   [1]
معلومات الكاتب ▼
تاريخ الإنضمام : 04-07-2007
رقم العضوية : 1
المشاركات : 11,317
الدولة : Jordan
الجنس :
تاريخ الميلاد : 10-7-1986
قوة السمعة : 2,147,483,647
موقعي : زيارة موقعي
أولاً: تبدأ شفرة بي إتش بي دائماً بهذا الأسلوب:


كود PHP:
PHP
 <?php
وهنا تعطي للحاسوب أن شفرة بي إتش بي تبدأ من هنا، وقد تكون شفرة HTML متداخلة مع شفرة بي إتش بي فمن الضروري التفريق بينهم، فتضع هذه الشفرة في بداية برمجة بي إتش بي، وتستطيع كتابة هذه البادئة بطرق أخرى، مثل:

كود PHP:
PHP
 <?
ثانياً: إن كنا قد بدأنا البرمجة بشفرة معينة، فيجب أن ننهيها بشفرة أخرى، وهي عكس الأولى فقط!

كود PHP:
PHP
?>  
ليصبح البرنامج لديك بالشكل التالي:
كود PHP:
PHP
<?php 
print &quot;برنامجي الأول&quot;; 
?>
هكذا تعلمنا كيف نبدأ الشفرة وكيف ننهيها، وهذه ضرورية، وأي خطأ إملائي فيها يحدث خللاً قد لا تلاحظه، والآن دعونا نشرح بعض الأساسيات في كتابة الجمل ما بين البداية والنهاية، فعند كتابتك لجملة معينة يجب أن تنهيها بفاصلة منقوطة، مثال:
كود PHP:
PHP
<? 
print &quot;برنامجي الأول&quot;; 
?>

لا تقلق، سنشرح الأمر print بعد قليل، المهم أن تلاحظ أن الجملة انتهت بالفاصلة المنقوطة، وإن لم نضعها فإن البرنامج لن يعمل وسيظهر لك خطأ، فانتبه إلى هذه الأمور الصغيرة .

والآن دعنا نوضح أمران مهمان وهما echo وprint، ويقوم كل أمر منهما بطباعة أو كتابة أي شيء تريده، وهذا الأمر مفيد خصوصاً إن كنت تريد وضع شفرة HTML ضمن برنامج بي إتش بي، ولنأخذ مثالاً على ذلك:

كود PHP:
PHP
<? 
print &quot;برنامجي الأول&quot;; 
?>
وعند كتابتك للأمر السابق، تظهر لك هذه النتيجة:

برنامجي الأول

لكن ماذا لو أردنا تغيير الخط في الجملة السابقة؟ عليك القيام بكتابة الشفرة التالية:

كود PHP:
PHP
<? 
print &quot;<font face=/&quot;Tahoma/&quot;>برنامجي الأول</font>&quot;; 
?>
وهذه هي النتيجة:

برنامجي الأول


ستظهر لك النتيجة بنفس الكلمة لكن بخط من نوع Tahoma، ولو لاحظت الشفرة لوجدت أننا وضعنا قبل كل من النقطيتين علامة ولو لم نفعل ذلك سيظهر لك خطأ في التنفيذ، فيجب أن تضع قبل كل نقطتين (";) علامة () والأفضل أن تخلو شفرة HTML من علامة (";) حتى لا تتعب معها في تصحيح الشفرة، وهكذا تستطيع تصميم صفحتك في برنامج HTML ثم تقوم بنسخه ووضع في أمر print مثلاً وستجد أن البرنامج ينفذ لك الشفرة ويرسم لك ما تطلبه في HTML.

يكفي هذا لتعلم الأساسيات، لكن في النهاية نضع لك أمرا أخيرا سيفيدك تعلمه، وهو أمر include ويقوم هذا الأمر بإدخال ملف ضمن ملف بي إتش بي، كيف؟ لنقل مثلاً أنك تريد وضع رأس صفحة متشابه لكل صفحات موقعك، تستطيع أن تصمم صفحة HTML واحدة وتقوم بطلبها عن طريق بي إتش بي بهذا الأسلوب:

كود PHP:
PHP
<? 
include(&quot;header.html&quot;); 
?>

وبهذا الأمر ستجد أن ملف header.html قد تم وضعه حيث أردت أنت، وبهذه الطريقة لا يحتاج الموقع منك إلا لتعديل ملف واحد إن أردت إضافة وصلة أو صورة معينة في موقعك. يكفي هذا للدرس الأول العملي، وإليك بعض الخطوات العملية:

- قم بإنشاء ملف جديد في برنامج بي إتش بي Coder وضع فيه أمر print واكتب ما تشاء.

- جرب الأمر include في إضافة رأس موحد لموقعك وإن نجحت فجرب إضافة تذييل "footer" موحد أيضاً.

- لا تنسى أن تحفظ الملفات بصيفة .php وإلا لن تعمل الشفرة.
توقيع :JO1R
:no::no::no::no:

look/images/icons/i1.gif اساسيات لتعلم لغـة البرمجة PHP .. موضوع متجدد
  17-04-2009 09:38 صباحاً   [2]
معلومات الكاتب ▼
تاريخ الإنضمام : 04-07-2007
رقم العضوية : 1
المشاركات : 11,317
الدولة : Jordan
الجنس :
تاريخ الميلاد : 10-7-1986
قوة السمعة : 2,147,483,647
موقعي : زيارة موقعي
الشروط وحلقات التكرار
بسم الله الرحمن الرحيم والصلاة والسلام على اشرف الانبياء والمرسلين ، سيتم التطرق في هذا الدرس بمشيئة الله الى ما يلي :

- عبـاراة الـ if .
- عبـاراة الـ else .
- عبـاراة الـ elseif .
- عبـاراة الـ switch .
- حلقة التكرار while .
- حلقة التكرار for .
- حلقة التكرار do while .

- عبـاراة الـ if :
استخدام الـ if في كتابة السكربات شي أساسي ، وكما في لغات البرمجة الأخرى فإن الـ PHP تتبع نفس الاسلوب في كتابة الـ if ، فيمكن تحديد شرط معين مقترن بالـ if وبالتالي اذا كان الشرط صحيحاً ( true ) فسيتم تنفيذ الاسطر المحددة ، وبتفصيل أكثر يجب وضع الشرط بين قوسين ( ) ، ووضع الاسطر المطلوب تنفيذها بين العلامـات { } ، مع ملاحظة أنه يمكن التخلي عن العلامات { } في حال وجود سطر واحد فقط .

فلنفترض وجود نموذج بريدي ( Mail Fourm ) ، يحتوي على الإسم والبريد والرسالة ، ونرغب في معرفة ما اذا كان المرسل قد ملأ جميع الحقول وبالتالي إرسـال الرسـالة ، او انه لم بفعل ذلك وبالتالي عرض رسـالة ( فضلاً قم بتعبئة البيـانات كاملة ) ، لعمل ذلك نحتاج معرفة أسمـاء المتغيرات في النموذج ، ولذلك فلنفترض أن المتغيرات كالتالي :
( الإسم name$ ) ، ( البريد email$ ) ، ( الرسـالة later$ ) ، ولعمل الشرط الأول ( اذا كان الإسم لم يُدخل فلن يتم ارسـال الرسـالة ) :
كود PHP:
PHP
<?
if ( $name == &quot;&quot; )
echo &quot;فضلاً قم بتعبئة البيـانات كاملة &quot;;
?>
والمعنى أنه إذا كان المتغير name$ لا يحتوي على أي قيمة ( أي فراغ ) فسيتم تنفيذ السطر التالي وطبـاعة الجملة ، مع ملاحظة أن المطلوب تنفيذه هم سطر واحد فقط ولذلك لم نستخدم { } ، بل في حالة وجود أكثر من سطر يجب استخدامها كالتالي

كود PHP:
PHP
<?
if ( $name == &quot;&quot; ) {
echo &quot;فضلاً قم بتعبئة البيـانات كاملة &quot;;
echo &quot;لم تقم بإدخـال الإسم &quot;;
}
?>

- عبـاراة الـ else :
هذه العبـارة تتيح امكانية وجود اجراء ثاني لعدم تحقق الشرط ، ففي مثالنا السابق كان الاجراء طباعة الجملة اذا تحقق الشرط ، ولكن في حالة عدم تحقق الشرط فلن يكون هناك اجراء لتنفيذه ، بل ان الاجراء سيتم تنفيذه اذا تحقق الشرط ومن ثم سيتم اكمال بقية الاسطر ، وفي حالة مثل هذه الحالة يتم استخدام الـ else لوضع اجراء آخر في حالة عدم تحقق الشرط ، وبالمثال يتضح المقال :
كود PHP:
PHP
<?
if ( $name == &quot;&quot; ) {
echo &quot;فضلاً قم بتعبئة البيـانات كاملة&quot;;
}
else
{
echo &quot;تم ارسـال الرسـالة ، شكرا لك&quot;;
}
?>


في هذا المثال سيتم طباعة الجملة (فضلاً قم بتعبئة البيـانات كاملة ) اذا تحقق الشرط أن المتغير name$ لا يحتوي على أي قيمة ، وسيتم طباعة الجملة (تم ارسـال الرسـالة ، شكرا لك ) في حالة عدم تحقق الشرط ، أي في حالة وجود قيمة في المتغير name$ ، مع ملاحظة أن هذا المثال يحتوي على شرطين وليس شرط واحد ، فالظاهر هو شرط واحد ( "" == name$ ) ولكن العبـارة else تعتبر شرطاً بحد ذاتها ولو لم يكن هذا الشرط مكتوباً ، وكما هو واضح فمعنى هذا الشرط هو ( إذا كان غير ذلك ) فقم بطباعة الجملة .


يمكن أن يكون الشرح غير واضح تماماً ، ولكن أهمية فهم الطريقة ستتضح في الأسطر القليلة القادمة .

elseif

- عبـاراة الـ elseif :
في العبارة السابقة ذكرنا أنه يوجد شرطين واجرائين ، أحد هذين الشرطين غير مكتوب بل هو مفهوم من ادراج العبـارة else ، وفي حالات كثيرة لا يكفينا مجرد شرطين واجرائين لاتمام بعض السكربات المعقدة ، فلذلك يمكن نستخدم العبـارة elseif مع الـ if لعمل مثل هذه السكربات ، فلو افترضنا أن لدينا عداد لزوار الموقع ونريد اظاهر العداد بحيث يتم قراءته بشكل جيد ، اي بمعني اخر اذا كان عدد الزوار ( 1 ) فسيتم طباعة الجملة ( عدد الزوار : زائر واحد فقط ) واذا كان ( 2 ) فسيتم طباعة الجملة ( عدد الزوار : زائرين ) ... وقس على ذلك ، فعندما يكون عدد الزوار ( 1 ) فسيتم عرض الجملة الأولى فقط وعندما يكون عدد الزوار ( 2 ) فسيتم عرض الجملة الثانية فقط ، وهكذا لبقية الشروط .


بافتراض أن المتغير ( counter$ ) هو عداد الزوار ، فالمثال التالي يبين ما تم شرحه سابقاً :


كود PHP:
PHP
<?
if ( $counter == 1 ) {
echo &quot; عدد الزوار : زائر واحد فقط &quot;;
}
elseif ( $counter == 2 ) {
echo &quot; عدد الزوار : زائرين &quot;;
}
elseif ( $counter >= 3 && $counter <= 10 ) {
echo &quot;عدد الزوار : $counter زوار&quot;;
}
else {
echo &quot;عدد الزوار : $counter زائر&quot;;
}
?>
كما هو واضح في المثـال السابق سيتم ما يلي :

الشرط : العداد يساوي 1
الإجراء : طبـاعة ( عدد الزوار : زائر واحد فقط )
الشرط : العداد يساوي 2
الإجراء : طبـاعة ( عدد الزوار : زائرين )
الشرط : العداد أكبر أو يساوي 3 و اصغر أو يسـاوي 10
الإجراء : طبـاعة ( عدد الزوار : ( العداد ) زوار )
الشرط : العداد لا يحقق أي من الشروط
الإجراء : طبـاعة ( عدد الزوار : ( العداد ) زائر )

ملاحظة بسيطة فقط ، وهي على العلامة && التي تعني ( و ) ، وهي من علامات الجمع بين جملتين ، فيجب أن تكون الجملتين صحيحتين لتحقق الشرط .

switch

- عبـاراة الـ switch :
هذه العبـارة قريبة جداً من العبـارة if ، ولكن يمكن استخدام اكثر من شرطرين باسلوب أخر ، غير انه يجب اسناد قيمة معينة للـ case وهي هنا بمثابة الشرط ، لكي يتم تنفيذ الاجراء المحدد لذلك الشرط أو الـ case ، وفي النهاية الأمر يعود الى المصمم وايهما يفضل ، وكما في المثال السابق يمكن كتابة مثال بالـ switch بنفس الطريقة ، والمشكلة الوحيدة هي كما قلنا أنه يجب اسناد قيمة معينة لكل case وبالتالي فإن الشرط الثالث من المثال السابق يجب تفريقه لكل قيمة من ( 3 الى 10 ) ، وهذه العميلة مجهدة لانه يجب كتابة سطر لكل قيمة كما يلي :

القيمة : 3
الـ case : 3
الاجراء : طبـاعة ( عدد الزوار : ( العداد ) زوار )
القيمة : 4
الـ case : 4
الاجراء : طبـاعة ( عدد الزوار : ( العداد ) زوار )
القيمة : 5
الـ case : 5
الاجراء : طبـاعة ( عدد الزوار : ( العداد ) زوار )
......... الخ ...

وفي المثال التالي ساتغاضى عن الشرط الثالث بكامله ، واذكر بقية الشروط والحالات لمجرد فهم طريقة عمل هذه العبـارة :
كود PHP:
PHP
<?
switch ($counter)
{
case &quot;1&quot;;
echo &quot; عدد الزوار : زائر واحد فقط &quot;;
break;
case &quot;2&quot;;
echo &quot; عدد الزوار : زائرين &quot;;
break;
default;
echo &quot;عدد الزوار : $counter زائر&quot;;
break;
}
?>

استخدمنا في هذه المثال بعض الجمل وتعني ما يلي :

Switch وتكتب في البداية مع ادراج اسم المتغير الذي سيتم عمل الشروط عليه . Case أي في حالة ( .... ) ويكتب بجانبها الشرط . Break وتعني ايقاف العملية والخروج من الشرط بعد تنفيذ أحد الإجراءات . Default وهي تقابل العبـارة else أي بمعنى أنها لأي حالة لم يتم ذكرها في الشروط .

while

- حلقة التكرار while :
وهي ابسط حلقات التكرار على الأطلاق ، بحيث تاخذ شرط واحد فقط وتبني على تنفيذ ما بين علامات الشروط { } ، والفرق الوحيد بينها وبين الـ if هو انها ستقوم بتنفيذ الاجراءات طالما كان الشرط صحيحاً ، وهذا يعني احتمال تنفيذ الإجراء أكثر من مرة ، وهذ الدالة مفيدة في ادراج الحقول من الجدوال وغيرها من الاستخدامات ، بحيث لو افترضنا وجود جدول معين في قاعد بيانات ونريد ادراجه في صفحة PHP ، فسيكون من اهم خيارات الاستخدام هذه الدالة ، وباذن الله سيتم التطرق لقواعد البيانات في الدروس القادمة ، وفي الوقت الحالي ساذكر مثال بسيط على هذه الدالة لفهم طريقة استخدامها :
كود PHP:
PHP
<?
$total = 10;
while ( $total <= 50 )
{
echo &quot;العدد أقل من 50&quot;;
$total +=10;
}
?>

بتفكير بسيط يمكن معرفة أن الجملة ( العدد أقل من 50 ) سيتم طباعتها 5 مرات ، لان حلقة التكرار while قامت بتنفيذ الاجراء طالما أن الشرط صحيح ، وفي المرة الأولى كان المتغير ( total$ ) يساوي ( 10 ) والشرط صحيح لان الـ ( total$ ) فعلاً اصغر أو يساوي الـ ( 50 ) ، فتم تنفيذ ما بين علامات الشرط ، ومن ذلك زيادة متغير المجموع ( total$ ) بقيمة ( 10 ) ومن ثم الرجوع والمقارنة من جديد ، وفي هذه الحالة صار المتغير ( total$ ) يساوي ( 20 ) وأيضـاً الشرط صحيح وبالتالي الدخول مرة أخرى وتنفيذ الأجراء .... وهكذا حتى يتم الوصول الى أن قيمة الـ ( total$ ) يساوي ( 50 ) وبالتالي الشرط صحيح ، ومن ثم تصبح قيمة الـ ( total$ ) تساوي ( 60 ) وفي هذه الحالة يتم ايقاف تنفيذ الاجراءات لأن الشرط غير صحيح .

for - do while

- حلقة التكرار for :
يوجد طريقة أسهل للتعامل مع المثال السابق ، فاستخدام حلقة التكرار while كانت القيمة الابتدائية للمتغير ( total$ ) في سطر ، والشرط في سطر والزيـادة على المتغير في سطر أخر ، وبالتالي زيارة في عدد الأسطر عن ما يمكن استخدامه مع حلقة التكرار for ، فالمثـال التالي يبين طريقة أخرى لاستخدام مثـال الـ while بطريقة أسهل :
كود PHP:
PHP
<?
for ( $total = 10; $total <=50; $total +=10 )
{
echo &quot;العدد أقل من 50&quot;;
}
?>
وللتوضيح فان تركيب الـ for هو على الشكل التالي :
كود PHP:
PHP
for ( القيمة الأفتراضية; الشـرط; مقدار الزيـادة; )
{
الإجراء المطلوب تنفيذه
}  


- حلقة التكرار do while :
وهي نسخة أخرى من الـ while والفرق الوحيد بينهما أن التأكد من الشرط وصحته من عدمها يتم بعد تنفيذ الاجراء وليس قبله كما في الـ while وكمثال عليها :
كود PHP:
PHP
<?
$total = 10;
do
{
echo &quot;العدد أقل من 50&quot;;
$total +=10;
}
while ( $total <= 50 );
?>
توقيع :JO1R
:no::no::no::no:

look/images/icons/i1.gif اساسيات لتعلم لغـة البرمجة PHP .. موضوع متجدد
  17-04-2009 09:39 صباحاً   [3]
معلومات الكاتب ▼
تاريخ الإنضمام : 04-07-2007
رقم العضوية : 1
المشاركات : 11,317
الدولة : Jordan
الجنس :
تاريخ الميلاد : 10-7-1986
قوة السمعة : 2,147,483,647
موقعي : زيارة موقعي
بسم الله الرحمن الرحيم



الهدف من السكربت:

هذا السكربت عبارة عن سكربت اتصل بنا ويتكون من صفحتين :

1-صفحة html :
وتحتوي على الفورم الذي يظهر للزائر ويدخل البيانات فيه .

2- صفحة php :
وتقوم هذه الصفحة بالعمليات التالية :

أ_ التأكد من ان المستخدم ادخل جميع الحقول الضرورية.
ب_الاتصال بقاعدة البيانات .
ج_ادخال البيانات في القاعدة tongueh34r: .
د_ اظهار رسالة شكر للمستخدم .
هـ_اغلاق الاتصال بقاعدة البيانات . ("خطوة هامة جدا ";)


--نكتب اسم صفحة php التي ستعالج المدخلات contact_p.php --
كود PHP:
PHP
<html>
<body>
<form action=&quot;contact_p.php&quot; method=&quot;post&quot;>

<TABLE WIDTH=&quot;80%&quot; BORDER=&quot;0&quot; ALIGN=&quot;center&quot;>
<TR>
<TD COLSPAN=&quot;2&quot; STYLE=&quot;border-bottom : double #0A2570;&quot; ALIGN=&quot;center&quot; BGCOLOR=&quot;#BDDCE0&quot;>
<B>اتصل بنا</B></TD>
</TR>
<TR>
<TD BGCOLOR=&quot;#BDDCE0&quot; width=&quot;40%&quot;>
الاسم
</TD>
<TD>
<INPUT TYPE=&quot;text&quot; NAME=&quot;u_name&quot; MAXLENGTH=&quot;40&quot; size=&quot;20&quot;> </TD>
</TR>
<TR>
<TD BGCOLOR=&quot;#BDDCE0&quot; width=&quot;30%&quot;>
البريد الالكتروني
</TD>
<TD>
<INPUT TYPE=&quot;text&quot; NAME=&quot;email&quot; MAXLENGTH=&quot;40&quot; size=&quot;20&quot;>
</TD>
</TR>
<TR>
<TD BGCOLOR=&quot;#BDDCE0&quot; width=&quot;30%&quot;>
نوع المشاركة
</TD>
<TD>
<select name=&quot;mush_type&quot;>
<option value=&quot;اقتراح&quot;>اقتراح
<option value=&quot;شكوى&quot;>شكوى
<option value=&quot;أخرى&quot;>أخرى
</select>
</TD>
</TR>

<
TR>
<
TD BGCOLOR="#BDDCE0" width="30%">
نص الاقتراح
</TD>
<
TD>
<
textarea cols="30" rows="6" name="sug_txt">
</
textarea>
</
TD>
</
TR>
<
TR>
<
TD COLSPAN="2" ALIGN="center" BGCOLOR="#BDDCE0">

<
input type="submit" name="submit">
</
TD>
</
TR>
<
TR>
<
TD COLSPAN="2" STYLE="border-bottom : double #0A2570;" ALIGN="right" BGCOLOR="#BDDCE0">
</
TD>
</
TR>
</
TABLE>
</
form>
</
body>
</
html>
شرح صفحة html:

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

الكود ببساطة عبارة عن فورم بسيط يحتوي على :

حقل اختياري
3 حقول ضرورية "لازم يدخلها المستخدم ""
الحقول الضرورية هي : -البريد -نوع الاقتراح -نص الاقتراح
الحقل الاختياري هو : -الاسم .
خلصنا من صفحة html

الان اذا ضغط المستخدم زر الارسال وش يصير ؟؟؟؟ :blink:
هذا الي بنبرمجه سوا في صفحة php :

طبعا الشرح هنا بيكون مع الكود يعني انتبهوا : frown

كود PHP:
PHP
<?
$u_name=$HTTP_POST_VARS[u_name];
$email=$HTTP_POST_VARS[email];
$mush_type=$HTTP_POST_VARS[mush_type];
$sug_txt=$HTTP_POST_VARS[sug_txt];

// اولا مثل ما قلنا فوق التأكد من المدخلات
if (strlen($email)==0 or strlen($mush_type)==0 or strlen($sug_txt)==0)
{
echo &quot;تأكد من ادخال جميع البيانات&quot;;
}
// اذا كانت جميع البيانات الضرورية مدخلة ينفذ مابعد else
else
{
// الاتصال بقاعدة البيانات
$db=mysql_connect() or die(&quot;Unable to access Database&quot;);
//تحديد قاعدة البيانات نفرض هنا ان اسمها abc
$ok=mysql_select_db(&quot;abc&quot;)

// الان ندخل البيانات في القاعدة عن طريق جملة insert
//نفرض ان اسم الجدول comments
//والحقول هي :
// c_type,c_adder,c_text,c_adder_email
$query1=&quot;insert into comments(c_type,c_adder,c_text,c_adder_email) values ($mush_type,$u_name,$temp,$email 9;)&quot;;
$ok=mysql_query($query1);


// اظهار رسالة شكر للمستخدم
echo &quot;شكرا لتواصلك معنا &quot;;

//اغلاق الاتصال بالقاعدة
mysql_close($db);


?>

مقترحات لتطوير القدرات _:

1- حاول تنفيذ وكتابة السكربت بنفسك .
2- مع اظهار الرسالة للمستخدم ارسل بريد على بريد الموقع يخبرك بوصول رسالة جديدة .
توقيع :JO1R
:no::no::no::no:

look/images/icons/i1.gif اساسيات لتعلم لغـة البرمجة PHP .. موضوع متجدد
  17-04-2009 09:41 صباحاً   [4]
معلومات الكاتب ▼
تاريخ الإنضمام : 04-07-2007
رقم العضوية : 1
المشاركات : 11,317
الدولة : Jordan
الجنس :
تاريخ الميلاد : 10-7-1986
قوة السمعة : 2,147,483,647
موقعي : زيارة موقعي
هناك ثلاث أنواع من الأخطاء في php

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


Parse Errors

مثال
كود PHP:
PHP
Parse error: parse error, unexpected T_STRING in /home/www/html/script/cat.php on line 11  
سبب الخلل

هو خلل بسيط في عملية ترجمة البرنامج و هو غالبا خطأ مطبعي قد تكون نسيت الفاصلة المنقوطة ; أو نسيت إقفال الأقواس أو اخطأ ت في صيغة الدالة مثلا الدالة تأخذ متغير واحد و انت وضعت 2 و هكذا .

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


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

كود PHP:
PHP
<?
if($test==1){
echo &quot;one&quot;;
}
else{
echo &quot;two&quot;;
} ?>
لتعرف بداية و نهاية كل كود كما يستحسن استخدام أحد المحررات التي تسمح بتلوين الشفرة لتعرف في حال نسيت إقفال أقواس النص .

Header Errors
مثال

كود PHP:
PHP
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 أحد أكثر الدالات من هذا النوع استخداما هي


كود PHP:
PHP
Header(&quot;location: http://ww.qatardr.net.com&quot;);  

و

كود PHP:
PHP
setcookie()  

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

mySQL Result Source Errors

مثال

كود PHP:
PHP
 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:
PHP
<?
$result = mysql_query(&quot;select * from shoutbox ORER by id desc limit 5&quot;);
//problem on the above line, ORDER is misspelled
while($r=mysql_fetch_array($result))
{
$time=$r[&quot;time]; //getting each variable from the table
$id=$r[&quot;id];
$message=$r[&quot;message];
$name=$r[&quot;name];
}
?>
ستلاحظ أن الخلل في الدالة mysql_fetch_array لكن في الحقيقة الخلل في المتغير result فهو السبب كونه لم يحتوى على نتائج من الإستعلام و الخلل به حيث لو لاحظت الاستعلام كلمة order غير صحيحة

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

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

ملحوظة أخيرة

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

مترجم عن http://www.spoono.com/php/tutorials/tutorial.php?id=31 بتصرف
توقيع :JO1R
:no::no::no::no:

look/images/icons/i1.gif اساسيات لتعلم لغـة البرمجة PHP .. موضوع متجدد
  25-04-2009 05:55 مساءً   [5]
معلومات الكاتب ▼
تاريخ الإنضمام : 03-11-2008
رقم العضوية : 18,005
المشاركات : 4,515
الجنس :
قوة السمعة : 851,406,336
يسلمو مان على المعلومات
توقيع :Mc Adel
<font face="Comic Sans MS">Am back to be rapper










<font face="Comic Sans MS">facebook

[face=Comic Sans MS]<font size="1">Myspace[/face]

اضافة رد جديد اضافة موضوع جديد




الكلمات الدلالية
لا يوجد كلمات دلالية ..









الساعة الآن 10:18 PM