الدرس الخامس عشر: دوال المصفوفات

نحتاج كثيرا الى ان نقوم بترتيب المصفوفات حسب الاسم , العمر , الميلاد وغيرها , مثل ما ترى في بعض محركات البحوث او مكتبات البرامج , حيث ان لديك خيار يسمح لك بالترتيب كيفما تريد, ولكن نريد ان نعرف كم يتم ذلك , وماهي الدوال المستخدمه في ذلك, يوجد نوعان من الترتيب, اما ترتيب مصفوفه احادية الابعاد, او مصفوفه متعددة الابعاد, بالنسبه للاولى فهي تعتبر سهله, ولكن الاخرى تعتبر اصعب وتحتاج الى تركيز, لكن لا تخف سوف نحاول ان نبسطها قدر الامكان…..

بسم الله الرحمن الرحيم

نتمنى ان تكون الاستفاده ممتازه من هذه الدروس ولا تترد بطرح اي سؤال على بريد الموقع او بريدي الشخصي وسوف يسعدني ان اقوم بالمساعده , اذا قمت بأي خطأ او كان هناك خطأ في معلوماتي الرجاء اعلامي بذلك , فلا تنسى انه جل من لا يسهو . ( ان اصبت من الله وان اخطأت فمن نفسي او الشيطان )

متطلبات قبل البدأ :

  • مراجعة الدرس الثالث عشر: المصفوفات الرقميه

  • مراجعة الدرس الرابع عشر: المصفوفات الحرفيه

اهداف الدرس:

  • ترتيب المصفوفات ( Sorting )
  • اعادة ترتيب المصفوفات ( Reordering )
  • استكشاف المصفوفات ( Navigation )
  • تعداد المصفوفات ( Counting )
  • الداله array_walk

ترتيب المصفوفات ( Sorting ) :

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

الترتيب طبيعيا

الداله sort() :

تستخدم هذه الداله لترتيب الكود حسب الاسبقيه ( للمصفوفات الرقميه ) , ونعني بذلك من الاصغر الى الاكبر, في حالة الاحرف ( ا , ب , ت ….. ي ) وفي حالة الارقام ( 0 , 1 , 2 ) وتعتبر هذه الداله حساسه لحالة الاحرف, اي الحرف ( A ) اصغر من الحرف ( Z ) ولكن الحرف ( Z ) اصغر من الحرف ( a ), افتح محرر الاكواد وقم بكتابة التالي:

وسوف يكون ناتجنا هو التالي:

الداله asort() والداله ksort() :

اذا كنت تستخدم المصفوفات الحرفيه, فهنا تجد مبتغاك, ونستخدم دوال مختلفه عن الرقميه , لاننا في المصفوفات الحرفيه نحتاج الى العنصر والفهرس ليتم ترتيبهما مع بعضهما البعض , ولكن في الرقميه نحتاج الى العنصر فقط. نستخدم الداله asort ونقوم بترتيبها حسب العنصر, ولكن في الداله ksort فسوف نقوم بالترتيب حسب الفهرس او المفتاح, افتح محرر الاكواد وقم بكتابة التالي:

وسوف يكون ناتجنا هو التالي:

الترتيب العكسي

رأيت ان الداله sort و ksort و asort تقوم بترتيب العناصر من الاصغر الى الاكبر, ماذا لو اردنا ان نقوم بالترتيب من الاكبر الى الاصغر, كيف سنقوم بفعل ذلك ؟ نستخدم نظائر الدوال التي قمنا بمعرفتها قبل قليل وهي rsort و krsort و arsort وسوف تقوم بالتريب بشكل عكسي, لا تحتاك ان ادعم لك الدوال بالامثله , فقط قم باستبدال دالة الترتيب في الامثله بالاولى بالداله ( rsort ) في حالة المصفوفه الرقميه, او استبدل دالة الترتيب في مثال المصفوفات الحرفيه بأحدى الدالتين ( arsort ) او ( krsort )

اعادة ترتيب المصفوفات ( Reordering ) :

في بعض الحالات تريد ان تقوم بترتيب المصفوفات بطريقه معينه, مثل لو لديك مصفوفه بها الاعداد ( 1 , 2 , 3 ) وتريد ان تقوم بترتيبها بالطريقه ( 3 , 1 , 2 ) , فيمكن فعل ذلك بلغة PHP وفي هذا القسم سوف نتعلم كيفية القيام بهذه الخصائص.

الداله shuffle() :

تقوم هذه الداله بترتيب عناصر المصفوفه عشوائيا , والطريقه لقيام بالترتيب عشوائيا هي كالتالي, افتح محرر الاكواد وقم بكتابة التالي:

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

الداله array_reverse() :

تقوم هذه الداله بإنشاء مصفوفه جديده ولكن العناصر تكون بترتيب عكسي , لاحظ المثال التالي:

والناتج من هذه الداله هو التالي:

الداله array_push() :

تقوم هذه الداله بإضافة عنصر جديد في اخر المصفوفه, لاحظ المثال التالي:

الداله array_pop() :

هذه الداله عكس الداله array_push وهي تقوم بحذف اخر عنصر في المصفوفه مع ارجاعه, واعني بإرجاعه ان عند استخدام هذه الداله سوف تقوم بأعطائك اي متغير تم حذفه, وهذا هو الفرق بينها, لاحظ المثال التالي:

استكشاف المصفوفات ( Navigation ) :

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

الداله current() :

تستخدم هذه الداله لاعطائنا مكان المؤشر الحالي, وطريقة الاستخدام كالتالي, افتح محرر الاكواد وقم بكتابة الكود:

الداله each() :

تقوم هذه الداله بإرجاع العنصر الحالي ثم التقدم خطوه واحده الى الامام. each( $array )

الداله next() :

تقوم هذه الداله بنفس عمل الداله each ولكن الفرق بينهما ان هذه الداله تقوم بالتقدم خطوه واحده الى الامام ثم ارجاع المتغير الذي وصلت الي. next( $array )

الداله reset() :

عمل هذه الداله بسيط, وهي تقوم بإرجاع المتغير الى بداية المصفوفه, اي كأنك قمت بعمل المصفوفه من جديد. reset( $array )

الداله end() :

هذه الداله عكس سابقتها reset حيث تقوم من اسمها بوضع المؤشر في اخر المصفوفه. end( $array )

الداله prev() :

واخيرتنا في هذا القسم هي هذه الداله وهي عكس الداله next وتقوم بالرجوع للخلف خطوه واحده فقط ثم ارجاع المتغير الذي وصلت اليه

تعداد المصفوفات ( Counting ) :

الداله count() :

تستخدم هذه الداله لعد عناصر المصفوفه الموجوده لدينا, وتستخدم بالطريقه التاليه:

الداله sizeof() :

تقوم هذه الداله بنفس عمل الداله count تمام , ولا يوجد بينهما اي اختلاف. sizeof( $array )

الداله array_count_values() :

هذه الداله جميله, ورهيبه , وعملها ان تقوم بعدد كم العناصر المتكرره في المصفوفه, فلو لديك مصفوفه يوجد بها ( 1 , 5 , 1 , 6 , 2 ) فسوف تخبرك الداله ان العدد 5 و 6 و 2 تكررو مره واحده ولكن العدد 1 تكرر مرتان, طريقة عمل هذه الداله ان تقوم بإدخال مصفوفه اليها وتقوم بإرجاع مصفوفه حرفيه عناصرها هي عدد مرات التكرار والفهرس او المفاتيح هو عناصر المصفوفه الاولى, لنقم بأخذ مثال بسيط عليها, افتح محرر الاكواد وقم بعمل التالي:

والناتج هو :

الداله array_walk :

في بعض الاحيان نريد ان نقوم بتعديل جميع عناصر المصفوفه الموجوده لدينا , من غير استخدام دالة تكرار وغير ذلك , ويمكننا تحقيق مبتغانا عن طريق الداله array_walk ووضع اليها بعض من نكهات الدوال, لنقل ان لدينا مصفوفه بها ارقام, ونريد ان نقوم بزيادة كل عنصر في المصفوفه بالعدد 1, كيف يمكننا فعل ذلك , افتح محرر الاكواد وقم بكتابة التالي:

وسوف يكون ناتج هذه الطريقه هو التالي:


سؤال على الدرس :

1 – لا يوجد

الـــدرس الــقادم :

سوف نتعرف في الدرس القادم على متفرقات في لغة PHP مع بعض الامثله التطبيقية لتساعدنا على جمع كل ما تعلمناه الى الان

 

نُشر في <a href="https://max4arab.com/category/%d8%af%d9%88%d8%b1%d8%a9-%d8%aa%d8%b9%d9%84%d9%8a%d9%85-php-%d9%83%d8%a7%d9%85%d9%84%d8%a9-%d8%a8%d8%a7%d9%84%d8%b9%d8%b1%d8%a8%d9%8a/" rel="category tag">دورة تعليم php كاملة بالعربي</a>، <a href="https://max4arab.com/category/%d8%b9%d8%a7%d9%85/" rel="category tag">عام</a> الموسومة <a href="https://max4arab.com/tag/%d8%a7%d9%84%d8%ae%d8%a7%d9%85%d8%b3/" rel="tag">الخامس</a>، <a href="https://max4arab.com/tag/%d8%a7%d9%84%d8%af%d8%b1%d8%b3/" rel="tag">الدرس</a>، <a href="https://max4arab.com/tag/%d8%a7%d9%84%d9%85%d8%b5%d9%81%d9%88%d9%81%d8%a7%d8%aa/" rel="tag">المصفوفات</a>، <a href="https://max4arab.com/tag/%d8%af%d8%b1%d9%88%d8%b3-php/" rel="tag">دروس php</a>، <a href="https://max4arab.com/tag/%d8%af%d9%88%d8%a7%d9%84/" rel="tag">دوال</a>، <a href="https://max4arab.com/tag/%d8%af%d9%88%d8%b1%d8%a9-%d8%a8%d9%8a-%d8%a7%d8%aa%d8%b4-%d8%a8%d9%8a-%d8%b9%d8%b1%d8%a8%d9%8a%d8%a9/" rel="tag">دورة بي اتش بي عربية</a>، <a href="https://max4arab.com/tag/%d8%b9%d8%b4%d8%b1/" rel="tag">عشر</a>

الدرس الرابع عشر: المصفوفات الحرفيه

اليوم سوف نتكلم عن النوع الثاني من المصفوفات وهي المصفوفات الحرفيه, وتختلف المصفوفات الحرفيه عن المصفوفات الرقميه من الناحيه التاليه, فهارس او مفاتيح المصفوفات الرقيمه تكون ارقام, اما المصفوفات الحرفيه فمفاتيحها او فهراسها تكون نصوص, قد تتسائل لماذا نستخدم المصفوفات الحرفيه, في كثير من الاوقات تعتبر المصفوفات الحرفيه مفيده, من حيث الترتيب ومن جيث الاستخدام, وتأكد انها وضعت لكي يسهل موضوع كتابة المصفوفات وليس لتعقيدها, تخيل مصفوفتنا التي تحتوي على المنتجات في الدرس السابق….

بسم الله الرحمن الرحيم

نتمنى ان تكون الاستفاده ممتازه من هذه الدروس ولا تترد بطرح اي سؤال على بريد الموقع او بريدي الشخصي وسوف يسعدني ان اقوم بالمساعده , اذا قمت بأي خطأ او كان هناك خطأ في معلوماتي الرجاء اعلامي بذلك , فلا تنسى انه جل من لا يسهو . ( ان اصبت من الله وان اخطأت فمن نفسي او الشيطان )

متطلبات قبل البدأ  :

  • مراجعة الدرس الثالث عشر: المصفوفات الرقميه

اهداف الدرس:

  • المصفوفات الحرفيه
  • انشاء المصفوفات الحرفيه
  • التحكم في المصفوفه الحرفيه
  • طباعة المصفوفات الحرفيه
  • المصفوفات ثنائية الابعاد
  • المصفوفات متعددة الابعاد

المصفوفات الحرفيه :

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

انشاء المصفوفات الحرفيه :

لنقم بعمل مثالنا السابق ولكن نريد ان نقوم بوضع كمية كل منتج لدينا في المصفوفه , شاهد المثال التالي:

لكن لو لاحظنا في المصفوفات الرقميه , فالذي يمكننا فعله هو هكذا ,

لاحظت الفرق الان ؟ لاحظ هنا ان العنصر ( element ) هو كمية كل منتج , والفهرس ( index ) هو اسم المنتج , على عكس الحرفيه , فكان الفهرس ارقام والعنصر هو المنتج.

التحكم في المصفوفه الحرفيه :

تعلمنا في السابق ان لو اردنا ان نتحكم في المصفوفات الرقميه سوف نستخدم اسم المصفوفه , ثم رقم الفهرس. بالطريقه التاليه :

اليس ذلك صحيحا ؟ ولكن كيف يمكن عمل ذلك عن طريق المصفوفات الحرفيه ؟ او ماهو النظير في المصفوفات الحرفيه ؟ يمكننا فعل ذلك بالطريقه التاليه:

واذا اردت ان تقوم بتغيير واحد من العناصر , فسوف تكون بنفس طريقة المصفوفات الرقميه , لاحظ التالي :

وايضا يمكننا انشاء المصفوفه بالطريقه التاليه :

طباعة المصفوفات الحرفيه :

كما للمصفوفات الرقميه طريقة كتابه بإستخدام دوال التكرار, يوجد دالة تكرار خاصه بالمصفوفات الحرفيه, ويمكن ايضا استخدامها للمصفوفات الرقميه وتدعى هذه الداله ( foreach ) وطريقة كتابتها كالتالي:

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

وناتجنا هو التالي:

و الطريقه الثانيه لطباعة المصفوفات هي بإستخدام الداله ( while ) واستخدام الداله ( each ) وتكون كالتالي :

لنأخذ مثال عليها الان, افتح محرر الاكواد وقم بعمل التالي:

قم بإختيار الطريقة التي تحب , فكلها تؤدي الى نفس الغرض.

المصفوفات ثنائية الابعاد :

المصفوفات ثنائية الابعاد نعني بها , مصفوفه يوجد بداخلها مصفوفه اخرى, لا ادري كيف اقوم بشرحها لك عزيزي الزائر , ولكن انظر الى المثال التالي واتمى ان توضح لك الصوره ,

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

مصفوفات ثنائية ابعاد رقميه:

طريقة طباعة مصفوفه ثنائية ابعاد رقميه:

لماذا استخدمنا دالتين تكرار من النوع ( for ) ؟ وذلك لانها ثنائية ابعاد ( مصفوفه وبداخلها مصفوفه ) , فادالة التكرار الاول ( للصف ) والداله الثانيه ( للعمود ), لنرى الان كيفية كتابتها بطريقة المصفوفات الحرفيه, افتح محرر الاكواد واكتب التالي:


مصفوفات ثنائية ابعاد حرفيه:

طريقة طباعة مصفوفه ثنائية ابعاد حرفيه:

المصفوفات متعددة الابعاد:

اعني بالمصفوفات المتعددة الابعاد, مثل ثلاثية , رباعية , خماسيه,  على حسب تعقيدك سوف تأتي المتعدده, ( يقولون ان المعقد الذي يستخدم اكثر من 2 ) 🙂 ولن اقوم هنا بشرحها او شرح طريقة طباعتها , فنفسها نفس المصفوفه الثنائيه, وقس على ذلك ولكن انظر الى هذا المثال , وبه مصفوفه ثلاثية ابعاد , تأمل بها , واذا فهمت نقظت المصفوفه الثنائيه الابعاد جيدا سوف تقوم بفهم المصفوفه المتعدده ايا كانت.


سؤال على الدرس :

1 – لا يوجد

الـــدرس الــقادم :

سوف نتعرف في الدرس القادم على دوال المصفوفات , وامثله كثيره عليها , لكي تتحكم في قوى المصفوفات من الالف الى الياء

 

نُشر في <a href="https://max4arab.com/category/%d8%af%d9%88%d8%b1%d8%a9-%d8%aa%d8%b9%d9%84%d9%8a%d9%85-php-%d9%83%d8%a7%d9%85%d9%84%d8%a9-%d8%a8%d8%a7%d9%84%d8%b9%d8%b1%d8%a8%d9%8a/" rel="category tag">دورة تعليم php كاملة بالعربي</a>، <a href="https://max4arab.com/category/%d8%b9%d8%a7%d9%85/" rel="category tag">عام</a> الموسومة <a href="https://max4arab.com/tag/%d8%a7%d9%84%d8%ad%d8%b1%d9%81%d9%8a%d9%87/" rel="tag">الحرفيه</a>، <a href="https://max4arab.com/tag/%d8%a7%d9%84%d8%af%d8%b1%d8%b3/" rel="tag">الدرس</a>، <a href="https://max4arab.com/tag/%d8%a7%d9%84%d8%b1%d8%a7%d8%a8%d8%b9/" rel="tag">الرابع</a>، <a href="https://max4arab.com/tag/%d8%a7%d9%84%d9%85%d8%b5%d9%81%d9%88%d9%81%d8%a7%d8%aa/" rel="tag">المصفوفات</a>، <a href="https://max4arab.com/tag/%d8%af%d8%b1%d9%88%d8%b3-php/" rel="tag">دروس php</a>، <a href="https://max4arab.com/tag/%d8%af%d9%88%d8%b1%d8%a9-%d8%a8%d9%8a-%d8%a7%d8%aa%d8%b4-%d8%a8%d9%8a-%d8%b9%d8%b1%d8%a8%d9%8a%d8%a9/" rel="tag">دورة بي اتش بي عربية</a>، <a href="https://max4arab.com/tag/%d8%b9%d8%b4%d8%b1/" rel="tag">عشر</a>

الدرس الثالث عشر: المصفوفات الرقميه

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

بسم الله الرحمن الرحيم

نتمنى ان تكون الاستفاده ممتازه من هذه الدروس ولا تترد بطرح اي سؤال على بريد الموقع او بريدي الشخصي وسوف يسعدني ان اقوم بالمساعده , اذا قمت بأي خطأ او كان هناك خطأ في معلوماتي الرجاء اعلامي بذلك , فلا تنسى انه جل من لا يسهو . ( ان اصبت من الله وان اخطأت فمن نفسي او الشيطان )

متطلبات قبل البدأ :

  • لا يوجد

اهداف الدرس:

  • نظره عامه عن المصفوفات
  • المصفوفات في لغة PHP
  • لماذا المصفوفات
  • انواع المصفوفات
  • المصفوفات الرقميه
  • انشاء المصفوفات الرقميه
  • طباعة المصفوفات الرقميه

نظره عامه عن المصفوفات :

تعتبر المصفوفات انجاز كبير في لغات البرمجه, مهلا ماهي المصفوفات اولا ؟ لنقم بشرحها خارج نطاق الكمبيوتر, لو قلنا ان لديك اليوم وليمه وكثير من الاصدقاء والاقارب سيقومون بزيارتك, ذهبت الى البقاله اشتريت ببسي بعدد الموجودين , واحد تلو الاخر , فاضريت الى الاشياء التاليه, ان تحمل اكياسا كثيره اولا , دفع مبلغ اكثر ثانيا اليس ذلك صحيحا ؟ ولكن لو قمت بشراء كرتون واحد بسعر اقل وسهل الحمل , فتكون وفرت على نفسك الكثير, ترجم الان ما قلته لك الى عالم الكمبيوتر والمصفوفات, المصفوفات مثل المتغيرات , مكان نقوم بوضع قيمه به, اي المصفوفه عباره عن متغير توضع به قيم عديدة, والفرق ان المتغير يحوي قيمه واحده ولكن المصفوفه تحتوي على قيم كثيره , وبالاحرى غير محدوده, اذن لنقل الان ان المصفوفات تعتبر انجاز كبير في لغات البرمجه, وتعتبر اللغه التي لا تقوم بدعمها ناقصه او ليست جيده. واعتقد ان مثال الوليمه قد وضح لك لماذا المصفوفات ( المبلغ نعني به الذاكره المستخدمه ) , ( الحمل نعني بها طريقة وضع القيم ).

المصفوفات في لغة PHP :

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

لماذا المصفوفات :

قد تتسائل , عندنا متغيرات لماذا نستخدم المصفوفات , سوف تجيب على هذا السؤال بنفسك عندما تستخدم المصفوفات , تخيل ان لديك اسماء اشخاص كثيرين داخل مصفوفه وتريد ان تقوم بترتيب هذه الاسماء من ناحية الاحرف ؟ فهل يمكن فعل ذلك بالمتغيرات ؟ ولكن مع المصفوفات بكتابة كود من 4 احرف يمكن فعل ذلك , غير مسألة الطباعه وغيرها الكثير , لا استطيع حصرها لك الان ولكن سوف توضح كلما تكلمنا عن المصفوفات اكثر.

انواع المصفوفات :

يوجد في لغة PHP نوعان من المصفوفات , مصفوفات رقميه, ومصفوفات حرفيه , في البدايه سوف نقوم بتعلم المصفوفات الرقميه لانها الاساس , وفي الدرس القادم سوف نعرف المصفوفات الحرفيه , بعد ذلك يسكون لديك الاختيار بين استعمال الحرفيه او الرقميه ( جميعهم يؤدون نفس العمل ).

المصفوفات الرقميه :

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

انشاء المصفوفات الرقميه :

دعني اوضح لك مفهوم المصفوفه اكثر , انظر الى الصوره التاليه :

لدينا الان منتجات في بقالتنا , فبدل من ان نكتب 5 متغيرات بعدد المنتجات , نقوم بإنشاء مصفوفه اسمها منتجات , ونضع داخلها اسماء منتجاتنا , وضحت الصوره ؟ لنقم مع بضعنا انشاء هذه المصفوفه , افتح محرر الاكواد وقم بكتابة التالي :

فبنظرك الان , ماهو الافضل طريقة المصفوفه ام الطريقه التاليه :

سأترك الاجابه لك 🙂

يوجد لدينا طريقه اخرى لكتابة المصفوفات , وكل منهما يؤدي نفس العمل , في بعض الاحيان تحتاج ان تعرف رقم القيم في المصفوفه , واحيانا لا تحتاج الى ذلك , وكل واحد منهما له استخدام , ولكن ما يمكن فعله بواحده فمأكد 100%100 انك تستطيع القيام به مع الاخرى, انظر الطريقه الثانيه الان :

هي نفسها الطريقه الاولى عند استخدامنا للعباره array , ولكن هنا نقوم بتحدد الاماكن بأنفسنا , ونعرف عند انشاء المصفوفه مفتاح كل عنصر بها. ولك الحريه بإستخدام واحده من الطريقتين. ( العباره array معرفه مسبقا داخل لغة PHP ولا يمكن استخدامها , لاتنسى ذلك ).

لنرى مثال اخر الان يفضل استخدام النوع الثاني على النوع الاول, نريد ان نقوم بتعبة عناصر المصفوفه بالرقم 1 الى الرقم 5 , كيف نقوم بفعل ذلك ؟؟؟ افتح محرر الاكواد واكتب التالي :

لا تنسى ان طريقة التعامل مع المصفوفات نفسها مع المتغيرات , فلو اردنا ان نضع مصفوفه منشئه مسبقا في مصفوفه اخرى سوف نستخدم المعامل ( = ) , انظر المثال التالي:

ملاحظه : يمكننا وضع اي نوع من البيانات داخل المصفوفات, سواء نصوص , او حروف , او ارقام وغيرها

ولو ادرنا تغيير قيمة العنصر الثاني في المصفوفه فسوف نقوم بالتالي :

طباعة المصفوفات الرقميه :

قم بإنشاء مصفوفه وقم بطباعتها كالمتغير , ماذا ستلاحظ ؟؟ لا يمكنك طباعتها , وسوف تجد ان ناتج الطباعه هو array فقط. اذن كيف نقوم بطباعة المصفوفه ؟ نقوم بطباعتها بالوصول الى كل عنصر على حده وطباعته لوحده , انظر المثال التالي :

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

استطعنا طباعة العناصر لاننا نعرف كم قيمه موجوده لدينا بالمصفوفه ؟ ولكن لو لم نعرف كم عدد القيم , فماذا نفعل ؟ سهل جدا , نستخدم الداله count , وتقوم هذه الداله بإخبارك كم عنصر موجود لديك بالمصفوفه, انظر التالي :

الان لنقم بطباعة المصفوفه التي لا نعلم عددها , كيف نفعل ذلك ؟؟ لاحظ ان في الداله for نقول اطبع لنا العناصر الى ان يصل عدد المتغير i الى اصغر من 3 , والعباره count اخرجت لنا الرقم 3 , اذن نجعل شرطنا في طباعة المصفوفه الى ان يكون العدد اقل من عدد العناصر, اكتب في محرر الاكواد التالي :

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


سؤال على الدرس :

1 – ارجع الى الدرس التاسع: انواع النماذج وطريقة كتابتها و الدرس العاشر: التحقق من وطباعة محتوى النماذج وقم بتعديل الملفات لتستطيع طباعة محتويات المتغير SKILL , اذا تتذكر فقد قلنا انه مصفوفه , والان تعرف ماهي المصفوفات 🙂

الـــدرس الــقادم :

سوف نتعرف في الدرس القادم على المصفوفات الحرفيه , وسنقوم بالتكلم عنها بالتفصيل

 

نُشر في <a href="https://max4arab.com/category/%d8%af%d9%88%d8%b1%d8%a9-%d8%aa%d8%b9%d9%84%d9%8a%d9%85-php-%d9%83%d8%a7%d9%85%d9%84%d8%a9-%d8%a8%d8%a7%d9%84%d8%b9%d8%b1%d8%a8%d9%8a/" rel="category tag">دورة تعليم php كاملة بالعربي</a>، <a href="https://max4arab.com/category/%d8%b9%d8%a7%d9%85/" rel="category tag">عام</a> الموسومة <a href="https://max4arab.com/tag/%d8%a7%d9%84%d8%ab%d8%a7%d9%84%d8%ab/" rel="tag">الثالث</a>، <a href="https://max4arab.com/tag/%d8%a7%d9%84%d8%af%d8%b1%d8%b3/" rel="tag">الدرس</a>، <a href="https://max4arab.com/tag/%d8%a7%d9%84%d8%b1%d9%82%d9%85%d9%8a%d9%87/" rel="tag">الرقميه</a>، <a href="https://max4arab.com/tag/%d8%a7%d9%84%d9%85%d8%b5%d9%81%d9%88%d9%81%d8%a7%d8%aa/" rel="tag">المصفوفات</a>، <a href="https://max4arab.com/tag/%d8%af%d8%b1%d9%88%d8%b3-php/" rel="tag">دروس php</a>، <a href="https://max4arab.com/tag/%d8%af%d9%88%d8%b1%d8%a9-%d8%a8%d9%8a-%d8%a7%d8%aa%d8%b4-%d8%a8%d9%8a-%d8%b9%d8%b1%d8%a8%d9%8a%d8%a9/" rel="tag">دورة بي اتش بي عربية</a>، <a href="https://max4arab.com/tag/%d8%b9%d8%b4%d8%b1/" rel="tag">عشر</a>

الدرس الثاني عشر: متفرقات وتطبيق على الدروس السابقه

نتعلم في درس اليوم شكل اخر من العبارتين include و require بالاضافه الى معرفة المتغير PHP_SELF , ثم نتطرق الى العبارتين global و static , وننهي الدرس بعمل تطبيق كامل على جميع الدروس السابقه, وسوف يكون برنامجنا في تطبيق الدرس الثاني عشر هو …

بسم الله الرحمن الرحيم

نتمنى ان تكون الاستفاده ممتازه من هذه الدروس ولا تترد بطرح اي سؤال على بريد الموقع او بريدي الشخصي وسوف يسعدني ان اقوم بالمساعده , اذا قمت بأي خطأ او كان هناك خطأ في معلوماتي الرجاء اعلامي بذلك , فلا تنسى انه جل من لا يسهو . ( ان اصبت من الله وان اخطأت فمن نفسي او الشيطان )

متطلبات قبل البدأ :

  • مراجعة جميع الدروس السابقة , حيث ان هذا الدرس يجمع كل الدروس

اهداف الدرس:

  • الداله include_once والداله require_once
  • المتغير $PHP_SELF
  • العباره global
  • العباره static
  • تطبيق شامل

الداله include_once و الداله require_once :

تعلمنا في الدرس الحادي عشر ان نستخدم الدالتين ( include ) والداله ( require ) , ونأتي الان الى جزء منها وهي الدالتين include_once و require_once , طريقة عمل هاتين الدالتين نفس عمل الدالتين الاول تماما, نفس طريقة الكتابه ( مطابقه 100 % 100 ) , ولكن هناك فرق صغير بينهما , كما تدل الكلمه ( once ) ومعناها ( مره واحده فقط ) , اننا نستخدم هذه العباره عندما نريد ان نقوم بإدراج ملف مره واحده فقط. فإذا استخدمنا هذه الداله وقمنا بإدراج ملف معين , فلن يتم ادراجه مره اخرى. بعباره اخرى , لو لدينا برنامج صغير وادرجنا داخل هذا البرنامج الملف ( arccn.php ) بإستخدام العباره ( include_once ) , فلن يتم ادراجه مره اخرى بعكس العباره include. وعندما تقرأ في دليل استخدام للغه فسوف تجد ان هذا هو الفرق الوحيد, وسبب وجود دالتين هو للتأكد من عدم وجود تضارب بين اسماء الدوال , او المتغيرات في البرامج.

المتغير $PHP_SELF

المتغير $PHP_SELF هو معرف من قبل اللغه نفسها , ولا يمكنك ان تقوم بتعريف متغير بهذا الاسم, يستخدم هذا المتغير لمعرفة اسم الملف الذي يقام تنفيذه حاليا. فمثلا لو اردنا في نموذج ان نذهب الى نفس الصفحه , فسوف نستخدم المتغير $PHP_SELF بدل كتابة اسم الملف. هذا هو استخدام هذا المتغير وسوف نتطرق له في احد برامجنا التطبيقية.

العباره global :

لنقل ان لدينا متغير, وهذا المتغير نريد ان نستخدمه في عدة ملفات وفي عدة اماكن. من المحتمل انني نسيت ان اخبرك ان المتغير مكانه محدود واعني بذلك , لو عرفنا متغير في ملف معين , فلن يكون هذا المتغير منشىء في الملف الاخر, فيمكننا انشاء مره اخرى واستخدامه بطريقه مختلفه. ولكن في حاله من الحالات نريد ان يكون لدينا متغير ثابت في جميع الصفحات وتذكر ان العباره defined ايضا لن تقوم بعمل هذا الشي, لنقم تحديد نظرتنا , لو عرفنا متغير داخل داله, فلن نستطيع استعمال هذا المتغير خارج الداله. لنأخذ مثال يبين لنا الطريقه. افتح محرر الاكواد واكتب التالي:

لاحظ ان المتغير ( name ) لم يتم طباعته, لانها معرف خارج الداله , وليس له علاقه بالمتغير الموجود داخل الدالة ابدا. ونفس الشيء للمتغير ( $lastName ) فلن يتم طباعته في السطر رقم 15 , لانه تم تعريفه داخل الداله. ولكن يمكننا ان نلغي هذا كله , ونجعل متغير يستخدم في جميع الصفحات, بإستخدام العباره global, ويتم كتابتها بالطريقه التاليه:

1 – لاحظ هنا اننا قمنا بتعريف المتغير داخل الداله, ومن الطبيعي انه لن يتم طباعته خارجها حتى لو كان يحتوي على قيمه, ولكن مع استخدامنا للعباره global , استطعنا من عمل ذلك. ويجب عليك ان تلاحظ انه يجب ان تجعل المتغير ( عام ) == ( global ) ثم بعد ذلك تقوم بتعيين قيمه بداخله ثم الطباعه ان اردت.

2 – قمنا بطباعة المتغير , ولاحظ انه قام بالطباعه هنا.

العباره static :

معنى كلمة static في اللغه الانجليزيه هو ( ثابت ). فعند استخدامنا لهذه العباره قبل المتغير, نضمن ان هذا المتغير سيقوم بالاحتفاظ بالقيمه الموجوده بداخله دائما ( مهما حصل ) الى اخر ما وصلنا , ويستخدم فقط داخل الدوال ( لا تنسى ذلك ) لنلاحظ المثال التالي:

هنا نقوم بطباعة المتغير a ثم نقوم بزيادته واحد , اليس ذلك صحيح ؟ ولكن لكما نقوم بمناداة الداله ( test ) مره اخرى , يتم ارجاع قيمة المتغير a الى ( 0 ) , مع اننا نقوم بزيادة المتغير في كل مره نقوم بالطباعه. وسيكون ناتج البرنامج هو التالي:

الان لنقم بإستخدام العباره static ونرى الاختلاف , اكتب التالي قبل المتغير a :

وعند تشغيل هذا الكود سوف يكون الناتج ايها الزائر الكريم بالطريقه التاليه:

0

ما نلاحظه هنا , ان في كل مره ننادي فيها الداله , في اخرها نقوم بزيادة المتغير بالعدد واحد , وعند منادة الداله مره اخرى , سوف يكمل من اخر عدد وصل اليه المتغير. وهذه هي فائدة العباره static في اللغه PHP.

تطبيق شامل :

ترددت كثيرا في اختيار برنامج نقوم بتطبيقه , حيث اني اريد ان اقوم بشمل جميع ما تعلمناه في الدروس السابقه, وعند انتهاء التفكير قررت ان يكون تطبيقنا ( اختبار مصغر ). وان شاء الله يكون شاملا لجميع ما قمنا بتعمله, ولا تغضب عندما نقوم بنسيان احد النقاط الصغيره, فتأكد انه في تطبيق اخر سنتطرق لها.

فكرة عمل البرنامج :

اولا يقوم المستخدم بإدخال معلوماته الشخصيه بعد ذلك نعرض له عدد من الاسئله , ثم في النهايه نقوم بعرض النتيجه, انظر الى الصوره التاليه :

لنقم بالتفكير في متطلباتنا , وماهي الملفات التي نحتاجها :

الوصف الملف

هنا نضع جميع دوال التنسيق للصفحات , مثل رأس الصفحه وذيلها , نماذج ادخال المعلومات وغيرها ونضعه داخل مجلد اسمه include

output.php

هنا نقوم بوضع دوال الاسئله والاجوبه , لكي ننتهي من عناء اعادة كتابة الكود ونضعه داخل المجلد include

quiz_fun.php
هنا يضع المستخدم معلوماته الشخصيه ويكون في المجلد الرئيسي info.php
هنا نقوم بعرض صفحة الاسئله ويكون في المجلد الرئيسي quiz1.php
صفحة النتائج ويكون في المجلد الرئيسي result.php

لنبدأ الان بكتابة البرنامج ونحاول ان نفهمه خطوه خطوه , افتح محرر الاكواد واكتب التالي ثم احفظه في ملف اسمه output.php :

اضغط على الصوره لتكبيرها

قمنا هنا بعمل رأس الصفحه وذيل الصفحه , ولو تلاحظ اننا استخدمنا الدوال لعمل ذلك , بحيث ان في كل صفحه لا نكرر كتابة الرأس والذيل وانما فقط نقوم بإدراج الملفات , وهي تقوم بالباقي. ولاحظ اننا ايضا استخدمنا مدخلات للدوال , بحيث يمكننا تغيير عنوان الصفحه وغيرها في اي وقت نريد. الان في صفحتنا ادخال المعلومات , نريد ان نقوم بإنشاء نموذج ليتمكن المستخدم من ادخال معلوماته الشخصيه, ليتمكن من الدخول الى الاختبار , اذن هو نموذج , سنضعه في ملف output.php , اذن ارجع الى الملف واكتب التالي:

اضغط على الصوره لتكبيرها
::__IHACKLOG_REMOTE_IMAGE_AUTODOWN_BLOCK__::1

لاحظ هنا اننا جعلنا النموذج يذهب الى الصفحه quiz.php , ايه انه ضروري ان يقوم المستخدم بكتابة معلوماته الشخصيه قبل دخول الاختبار. الان لنقم بعمل صفحة تسجيل المعلومات. الان انشئ ملف جديد اسمه info.php, واكتب بداخله الكود التالي:

اضغط على الصوره لتكبيرها

في بداية هذا الكود قمنا بإدراج الملف output.php لان بداخله الاكواد التي نحتاجها الى تشغيل الصفحه. ولاحظ اننا استخدمنا الدوال فقط, ولم نقم بإستخدام غيرها. الان نحتاج ان نتأكد هل المستخدم ادخل جميع البيانات ام لا ؟ لاننا قلنا انه اذا لم يدخل جميع البيانات فلا يسمح له بأخد الاختبار. اذن قم بإنشاء ملف اسمه quiz_fun.php واكتب بداخله الداله التاليه :

هنا نقوم بالتحقق من مدخلات النموذج , اذا كانت جميعها مدخله , فنرجع القيمه true , واذا كانت هناك مدخلات ناقصه فسوف نرجع القيمه false. الان انشئ ملف اسمه quiz.php واكتب بداخله التالي:

الكود واضح وبسيط هنا , ادرجنا الملفات في البدايه, ثم نقوم بإستخدام دالة التحقق من المدخلات, اذا ارجعت القيمه true نبدأ الاختبار , واذا ارجعت false لا نبدأ الاختبار. الان نريد ان نقوم بعرض الاسئله , سوف نقوم بكتابة سؤالين فقط , لكي لا نقوم بإطالة الدرس, ارجع الى الملف output.php واكتب الداله التاليه :

اضغط على الصور لتكبيرها

لاحظ اننا استخدمنا هنا الطريقة GET لارسال البيانات, لكي تفهم الطريقتين بشكل صحيح, ارجع الان الى الملف quiz.php , وقم اضافة السطر التالي:

قم بتشغيل الملف info.php الان , وقم بتجربة برنامجك , وسوف تجد انك ستصل الى الصفحة التاليه :

قربنا من النهاية. نريد الان ان نقوم بمعرفة اذا قام المستخدم بكتابة الاجابات الصحيحه ام لا, اذن لنقم بإنشاء متغير اسمه mark نضع به العلامات ونريد ان نستخدمه في جميع الصفحات, اذن سنحتاج العباره global , ارجع الى الملف quiz_fun.php واضف السطرين التاليين :

بقيت الان الصفحه الاخيره, ولن اخذ وقت طويل في شرحها, فسأضعها لك , واعتقد انه الان لديك الامكانيه لفهم الكود الموجود بداخلها :

ملاحظه : جميع القيم التي تكون قادمه عن طريق النماذج , تكون على شكل نصوص ( string ) ولهذا استخدمنا التحويل من نص الى رقم , كما تعلمنا سابقا , لانه لن نستطيع ان نقوم بمقارنه صحيحه اذا كان الطرفين من غير النوع , ولا تنسى انه يمكنك استخدام المعامل ( === ) , لمعرفة ان الطرفين متساويين ومن نفس النوع


سؤال على الدرس :

1 – قم بالتعديل على برنامج الاختبار , حيث يكتب لك في الصفحه الاخيره معلومات المستخدم الذي دخل الاختبار , الاسم والبريد الالكتروني مع الدرجه التي حصل عليها المستخدم في الاختبار ( مساعده : استخدم global )

الـــدرس الــقادم :

سوف نتعرف في الدرس القادم على نبذه عامه عن المصفوفات وانواعها , وشرحها بطريقه مفصله , لانها تعتبر نقطة تحور كبيره في هذه اللغه

 

نُشر في <a href="https://max4arab.com/category/%d8%af%d9%88%d8%b1%d8%a9-%d8%aa%d8%b9%d9%84%d9%8a%d9%85-php-%d9%83%d8%a7%d9%85%d9%84%d8%a9-%d8%a8%d8%a7%d9%84%d8%b9%d8%b1%d8%a8%d9%8a/" rel="category tag">دورة تعليم php كاملة بالعربي</a>، <a href="https://max4arab.com/category/%d8%b9%d8%a7%d9%85/" rel="category tag">عام</a> الموسومة <a href="https://max4arab.com/tag/%d8%a7%d9%84%d8%ab%d8%a7%d9%86%d9%8a/" rel="tag">الثاني</a>، <a href="https://max4arab.com/tag/%d8%a7%d9%84%d8%af%d8%b1%d8%b3/" rel="tag">الدرس</a>، <a href="https://max4arab.com/tag/%d8%a7%d9%84%d8%af%d8%b1%d9%88%d8%b3/" rel="tag">الدروس</a>، <a href="https://max4arab.com/tag/%d8%a7%d9%84%d8%b3%d8%a7%d8%a8%d9%82%d9%87/" rel="tag">السابقه</a>، <a href="https://max4arab.com/tag/%d8%af%d8%b1%d9%88%d8%b3-php/" rel="tag">دروس php</a>، <a href="https://max4arab.com/tag/%d8%af%d9%88%d8%b1%d8%a9-%d8%a8%d9%8a-%d8%a7%d8%aa%d8%b4-%d8%a8%d9%8a-%d8%b9%d8%b1%d8%a8%d9%8a%d8%a9/" rel="tag">دورة بي اتش بي عربية</a>، <a href="https://max4arab.com/tag/%d8%b9%d8%b4%d8%b1/" rel="tag">عشر</a>، <a href="https://max4arab.com/tag/%d8%b9%d9%84%d9%89/" rel="tag">على</a>، <a href="https://max4arab.com/tag/%d9%85%d8%aa%d9%81%d8%b1%d9%82%d8%a7%d8%aa/" rel="tag">متفرقات</a>، <a href="https://max4arab.com/tag/%d9%88%d8%aa%d8%b7%d8%a8%d9%8a%d9%82/" rel="tag">وتطبيق</a>

الدرس العاشر: التحقق من وطباعة محتوى النماذج

نكمل في درسنا اليوم ان شاء الله الدرس التاسع , وهو كيف نتحقق من محتوى النموذج الي قمنا بعمله ثم كيفية طباعته الى المتصفح , والتركيز على بعض الملاحظات فيه , ايضا سوف نتعلم كيفية انشاء نموذج تسجيل دخول , كالذي نراه في المنتديات , او البريد الالكتروني ……

بسم الله الرحمن الرحيم

نتمنى ان تكون الاستفاده ممتازه من هذه الدروس ولا تترد بطرح اي سؤال على بريد الموقع او بريدي الشخصي وسوف يسعدني ان اقوم بالمساعده , اذا قمت بأي خطأ او كان هناك خطأ في معلوماتي الرجاء اعلامي بذلك , فلا تنسى انه جل من لا يسهو . ( ان اصبت من الله وان اخطأت فمن نفسي او الشيطان )

متطلبات قبل البدأ :

  • مراجعة الدرس السابق , مع محاولة فعل عدة تطبيقات بإستخدام انواع النماذج

اهداف الدرس:

  • ارسال البيانات الى صفحه اخرى
  • التحقق من ان جميع البيانات ممتلئه
  • طباعة البيانات الى المتصفح
  • مثال تطبيقي ( عمل نموذج تسجيل دخول )

ارسال البيانات الى صفحه اخرى :

بعد عملنا لنموذج المعلومات الشخصيه ( اذا لم تستطع عمله , اضغط هنا لتحميل نموذج المعلومات الشخصيه ) , نريد ان نرسل هذه البيانات الى صفحه اخرى , لنقوم بمشاهدة هذه البيانات او معالجتها او اي شي اخر , فكيف يتم فعل ذلك , كما تعلمنا سابقا , يمكننا فعل ذلك عن طريق تحديد الصفحه المراد الذهاب اليها في ( FORM ) , لاحظ المثال التالي , ( في مثالنا سوف نذهب الى الصفحه view.php ) :

هذا المثال مدمج مع كود PHP

هذا المثال كود HTML فقط

لاحظ انه هنا نقوم بالذهاب الى صفحه اخرى , ولكن اذا اردنا الذهاب الى الصفحه نفسها ( طريقه اخرى ) قم بكتابة نفس الصفحه , او العباره $PHP_SELF , وهي تؤدي نفس الغرض ( اذا كان نفس الصفحه ) وسوف اشرح لك هذه العباره لاحقا

التحقق من ان جميع البيانات ممتلئه :

الان لنأتي الى متعة عمل لغة PHP , في نموذجنا , نريد ان نتحقق اذا كان المستخدم قد قام بكتابة جميع البيانات المطلوبه ( كلها ) , اذن انشئ صفحه PHP اسمها view.php , ولنقم بفعل ذلك خطوة خطوة , اولا نريد ان نتحقق من ان المستخدم قام بكتابة اسمه الاول واسم العائله والبريد الالكتروني اكتب في محرر الاكواد التالي :

لو قمت بالملاحظه , فإننا نستخدم اسماء المتغيرات التي انشئناها في النموذج , ( fname & lname & email ) , اليس ذلك صحيحا ؟ لنكمل التحقق من النموذج

الان قم بتشغيل ملف النموذج , ولا تقم بكتابة اي شي , فقط اضغط على زر ( ارسال ) , وسوف تجد ان الصفحه تكتب ما يلي :

قد تقول لنفسك , هناك شيئ غير منطقي , وهو اننا طبعنا العباره ( الرجوع الى الخلف ) اكثر من مره ( لكل نوع لم يتم تعبئته ) اليس ذلك صحيحا , ؟ اذن كيف نتخلص من ذلك ؟ نتخلص منه عن طريق العباره exit التي وسبق ان قمنا بمعرفتها في الدرس الدرس السابع: متفرقات عن لغة PHP , نكتب العباره exit , كالتالي :

الان عندما ينسى المستخدم , سوف يأتي له اي نوع قام بنسيانه فقط , واحدا تلو الاخر , فلو نسي المستخدم كتابة الاسم الاول والاسم الثاني , سيظهر له انه نسي الاسم الاول فقط , هذا ما اعني به ( واحدا تلو الاخر ) .

طباعة البيانات الى المتصفح :

الان , نريد ان نقوم بطباعة ما اختاره المستخدم وعرضه على الشاشه , نفعل ذلك بالطريقه التاليه , افتح محرر الاكواد ( اكمل على الكود السابق ) واكتب التالي :

قد تسأل التالي : لماذا لم اضع IF شرطيه ( شرطها اذا قام بتعبئة جميع الانواع ) قم بكتابة هذا الكود بداخلها , والجواب هو , لانه استخدمنا اللعباره exit , فلو لم تملئ جميع الحقول سوف يقوم بالخروج من كامل الكود , ولن يقوم بالنظر الى كود الطباعه . ولكن اذا اردت يمكنك استخدام عباره IF يوجد بها الشرط التالي , وفي حالة تحققه يقوم بطباعة جميع محتويات المتغيرات التي قمنا بكتابتها , الشرط هو : if( $fname && $lname && $email && $sex && $lang && $skill && $info && ( $read || $write || $draw || $prog ) ) وسوف يقوم بفعل نفس الشيئ , وبيدك الاختيار 🙂

هناك ملاحظه اخرى , انا متأكد انك قمت بملاحظتها , وهي ان المتغير SKILL , لم يقم بطباعة جميع المهارات التي قمت بإختيارها ( يمكنك اختيار اكثر من مهاره ) , لماذا ؟ الجواب هو لانه يجب ان يكون مصفوفه , وسوف نتطرق للمصفوفات لاحقا وسوف تقوم بمعرفتها بالكامل , ولكن لا تتعجل , فالطريق امامنا طويل جدا 🙂

قم بتحميل هذا التطبيق كاملا من هنا

مثال تطبيقي ( عمل نموذج تسجيل دخول ) :

هل قمت بعمل ما فعلناه سابقا ؟ هل قمت بإستيعابه ؟ اذن لنقم بعمل نموذج تسجيل دخول , مثل الدخول الى بريدك الالكتروني , او لوحة التحكم الخاصه بك في احد المنتديات , قم بعمل نموذج لتسجيل الدخول كالتالي :

لا تنسى كيفية كتابة حقل كلمة المرور راجع الدرس التاسع: انواع النماذج وطريقة كتابتها , الان لننظر الى ملف PHP ولنرى كيفية التأكد من صحة كلمة المرور ( لنفرض ان اسم المستخدم هو ارسن ) و ( كلمة المرور هي 123 ) افتح محرر الاكواد واكتب التالي :

لاحظ ان اسماء المتغيرات في النموذج هي ( user ) و ( pass )


سؤال على الدرس :

قم بعمل نموذج تسجيل مستخدم جديد , سهل جدا فقط قم بالتفكير قليلا ويمكن عمله , لا تنسى انه يجب على المستخدم كتابة كلمة المرور مرتان للتأكد من صحتها , ولا تنسى ان تقوم بالتحقق من ان جميع البيانات المدخله كامله , واترك الخيال الفكري في هذا النموذج لك عزيزي الزائر 🙂 ( مساعده : pass1 و pass2 في النموذج )

الـــدرس الــقادم :

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

 

نُشر في <a href="https://max4arab.com/category/%d8%af%d9%88%d8%b1%d8%a9-%d8%aa%d8%b9%d9%84%d9%8a%d9%85-php-%d9%83%d8%a7%d9%85%d9%84%d8%a9-%d8%a8%d8%a7%d9%84%d8%b9%d8%b1%d8%a8%d9%8a/" rel="category tag">دورة تعليم php كاملة بالعربي</a>، <a href="https://max4arab.com/category/%d8%b9%d8%a7%d9%85/" rel="category tag">عام</a> الموسومة <a href="https://max4arab.com/tag/%d8%a7%d9%84%d8%aa%d8%ad%d9%82%d9%82/" rel="tag">التحقق</a>، <a href="https://max4arab.com/tag/%d8%a7%d9%84%d8%af%d8%b1%d8%b3/" rel="tag">الدرس</a>، <a href="https://max4arab.com/tag/%d8%a7%d9%84%d8%b9%d8%a7%d8%b4%d8%b1/" rel="tag">العاشر</a>، <a href="https://max4arab.com/tag/%d8%a7%d9%84%d9%86%d9%85%d8%a7%d8%b0%d8%ac/" rel="tag">النماذج</a>، <a href="https://max4arab.com/tag/%d8%af%d8%b1%d9%88%d8%b3-php/" rel="tag">دروس php</a>، <a href="https://max4arab.com/tag/%d8%af%d9%88%d8%b1%d8%a9-%d8%a8%d9%8a-%d8%a7%d8%aa%d8%b4-%d8%a8%d9%8a-%d8%b9%d8%b1%d8%a8%d9%8a%d8%a9/" rel="tag">دورة بي اتش بي عربية</a>، <a href="https://max4arab.com/tag/%d9%85%d8%ad%d8%aa%d9%88%d9%89/" rel="tag">محتوى</a>، <a href="https://max4arab.com/tag/%d9%85%d9%86/" rel="tag">من</a>، <a href="https://max4arab.com/tag/%d9%88%d8%b7%d8%a8%d8%a7%d8%b9%d8%a9/" rel="tag">وطباعة</a>

الدرس الحادي عشر: ادراج الملفات والدوال بأنواعها

ماذا نعني بإعادة استخدام الكود ؟ لنذهب بعيدا عن البرمجه وعن الدنيا بشكل اوسع , لنجعل مخيلاتنا تتحكم بنا لمدة دقيقتان , لماذا نعيد استخدام شي معين ؟ اننا نعيد استخدامه لانه مفيد جدا اليس كذلك ؟ لو كنت طالب في احدى المدارس مثلا , لديك شنطه تضع بها كتبك الدراسيه , احببت هذه الشنطه , الجوده , التحمل , القيمه , تستخدمها كل سنه وكل ترم في الدراسه , وقت الاجازات تهملها , ولكن قد تستعملها لتضع ملابس السباحه اذا اردت الذهاب الى النادي …

بسم الله الرحمن الرحيم

نتمنى ان تكون الاستفاده ممتازه من هذه الدروس ولا تترد بطرح اي سؤال على بريد الموقع او بريدي الشخصي وسوف يسعدني ان اقوم بالمساعده , اذا قمت بأي خطأ او كان هناك خطأ في معلوماتي الرجاء اعلامي بذلك , فلا تنسى انه جل من لا يسهو . ( ان اصبت من الله وان اخطأت فمن نفسي او الشيطان )

متطلبات قبل البدأ :

  • لا يوجد

اهداف الدرس:

  • اعادة استخدام الكود
  • ادراج الملفات
  • الداله require
  • الداله include
  • لماذا احتاج الى الدوال ( functions )
  • الدوال ( functions )
  • استخدام ادراج الملفات مع الدوال

اعادة استخدام الكود :

ماذا نعني بإعادة استخدام الكود ؟ لنذهب بعيدا عن البرمجه وعن الدنيا بشكل اوسع , لنجعل مخيلاتنا تتحكم بنا لمدة دقيقتان , لماذا نعيد استخدام شي معين ؟ اننا نعيد استخدامه لانه مفيد جدا اليس كذلك ؟ لو كنت طالب في احدى المدارس مثلا , لديك شنطه تضع بها كتبك الدراسيه , احببت هذه الشنطه , الجوده , التحمل , القيمه , تستخدمها كل سنه وكل ترم في الدراسه , وقت الاجازات تهملها , ولكن قد تستعملها لتضع ملابس السباحه اذا اردت الذهاب الى النادي , تستخدمها لحفظ اشياء القيمه , لست طالبا ؟ لنقل انك معلم , لديك بعض من شروحات الدروس على الكمبيوتر , تستخدمها في كل سنه , تغير المنهج الذي تقوم بتدريسه او اصدرت نسخه جديده , لن تقوم بمسح جميع شروحاتك , بل سوف تقوم بتعديل اللازم. لنرجع الان عالمنا ونعيد السؤال لماذا نحتاج الى اعادة استخدام الكود, تخيل انك تعمل في شركه, والشركه لديها موقع وانت المسؤول عنه , رأس صفحات الموقع كلها نفس الشي , ذيل صفحات الموقع كله نفس الشي , مرت الايام كبرت الشركه وزاد عدد الصفحات الى اكثر من 100 صفحه , جاء اليك المدير طالبا بإضافة البريد الالكتروني في رأس كل صفحه من صفحات الموقع , او طلب تغييرات طفيفه ؟ ماذا سوف تفعل ؟ مجهود كبير اليس كذلك ؟ مفهوم اعادة استخدام الكود يعتبر هدف من اهداف هندسة برمجيات الكمبيوتر , ليس ذلك لانهم كسولين ولا يحبون العمل او كتابة الاكواد , ولكن لانه الافضل من نواحي كثيره , من حيث القيمه , من حيث الاعتماد على الكود , من حيث التماسك ولكل منها كلام يطول , ويمكن البحث في google او في MSN بكتابة العباره التاليه : ( why reuse code in programming ).

ادراج الملفات :

قرأت قبل قليل مثال عملك في الشركه , والموقع الذي اصبح عباره عن 100 صفحه , كيف يمكنك التغلب على هذه المشكله , هنا تأتي فائدة ادراج الملفات , لنقم بحل المشكله , عند دخولنا لمنتديات وحتى شبكة ارسن , تجد ان جميع الصفحات لها رأس واحد ( header ) ولها ذيل واحد ( footer ) والاختلاف دائما يكون في محتوى الصفحه ( في النصف ) وهذا ما نسميه ( body ) , لنقم بمشاهدة مثال على ذلك , انظر التالي :

الان لدينا , رأس وذيل ومحتوى , الرأس والذيل ثابتين لا يتغيرون في جميع الصفحات , ولكن المحتوى يتغير , مره تظهر اخبار , ومره يظهر تصويت , ومره يظهر معلومات عن الشركه , الان تخيل ان هذا هو موقع الشركه , ولديك 100 صفحه , والمدير فرض عليك عليك ان تقوم بتغيير الشعار من ( درسي … اونلاين ) الى ( برمجتي … اونلاين ) , ماذا ستفعل ؟ ستقوم بتغيرر جميع الصفحات وكم سيأخذ هذا من الوقت , لكن تخيل ان هذه منفصله , الرأس لوحده , والذيل لوحده , وفي كل صفحه نقوم بإدراجهمها ( يعني انه لدينا ملف واحد به الرأس ) و ( ملف واحد به الذيل ) اذا سوف نقوم في اي صفحه بإدراج هذين الملفين في الاعلى والاسفل , وعندما نريد ان نقوم بتغير الرأس او الذيل فإننا نقوم بتغيير الملف الرئيسي الموجود به الرأس او الذيل , وسوف تتغير جميع الصفحات 🙂 . لنرى الان كيفية الادراج .

الداله require :

هذه الداله تستخدم لادراج الملفات وطريقة كتابتها كالتالي require( string file ) , لنأخذ مثال عليها لتوضح الصوره لنا , افتح محرر الاكواد واكتب التالي :

قم بحفظ الملف الان بإسم ( word.php ) , افتح ملف جديد من محرر الاكواد واكتب التالي :

لن تستغرب اذا كان ناتجنا هو التالي :

اذن نستنتج ان الداله require تحتاج الى ملف لكي يكون مدخلها , وعندما ننفذ الكود فكأننا كتبنا التالي:

يمكن ادراج اي ملف تريد بإي امتداد تريد , ولكن اسمع هذه النصيحه , وادرج دائما ملفات PHP او ملفات HTML , ولكن لا تنسى انه اذا كان الملف HTML فلن يتم تنفيذ كود PHP بداخله , يجب ان يكون PHP لينفذ. الان لنرى موقع الاعلى للشركه , وكيف سيتم الادراج , لاحظ الكود التالي :

الملف header.php

الملف footer.php


الملف main.php

انقر على الصوره لتكبيرها

ارأيت الان ميزة هذه الداله ؟ واعتقد ان ميزة اعادة استخدام الكود اتضحت الان ايضا , وسوف تتضح لك اكثر في الدوال ( functions ) .

الداله include :

هذه الداله لها نفس عمل الداله require تماما , الفرق الوحيد بينهما , هو كيفية اخراج الخطأ , فلو اخطأت في الداله include فسوف يكون الخطأ هو تحذير ويكمل تنفيذ عمل الملف ( Warning ) اما اذا اخطأت في الداله require فسوف يكون الخطأ رئيسي ويتوقف عمل تنفيذ الملف اي الخروج من الكود كاملا ( Fatal Error ) , مثال على خطأ يمكن ان تقع به , ادراج ملف غير موجود , انظر الى الشكل التالي :

خطأ require :
اضغط على الصوره لتكبيرها

خطأ include :
اضغط على الصوره لتكبيرها:

ملاحظه : نستخدم الطريقه في الامثله اعلى اذا كان الملف يوجد في نفس المجلد , اما اذا كان في مجدل داخلي اسمه include فيكون كالتالي ( require(‘include/header.php’) ) وهكذا دواليك , كأنك تتعامل مع اي برنامج اخر لتقوم بتحدد مكان ملف

لماذا احتاج الى الدوال ( functions ) :

لو اردنا ان نقوم في كل برنامج لنا بمقارنة عددين مع بعضهما البعض , الن يكون طويلا ان نقوم في كل برنامج بكتابة كود المقارنه ؟ لماذا لا نقوم بوضع هذا الكود في داله , وفقط نقوم بمناداة هذه الداله , ونجعلها تتكفل بجميع المخرجات لدينا , اليس ذلك اسهل ؟ وافضل ؟ اذن سوف نتكلم الان عن الدوال بالتفصيل , لكي ترى فائدة هذه الخاصيه في لغة PHP

الدوال ( functions ) :

هل تريد انشاء دالة خاصه بك ؟ كالداله print مثلا ؟ ستتعلم الطريقه هنا ,وسوف نتطرق في هذا الموضوع الى الدوال عدة نقاط وهي كالتالي : مناداة الداله , اخطاء في مناداة الدوال , اسماء وحالات الدوال, كتابة الدوال, مدخلات الدوال , مرجعات من الدوال , ارجاع بيانات من الدوال. لنبدأ بشرح هذه النقاط :

مناداة الدالة :

رأيت كثيرا من الدوال خلال الدروس من الاول الى العاشر, منها PRINT ومنها SETTYPE ومنها GETTYPE ومنها REQUIRE و INCLUDE , اليس كذلك ؟ كتابة الدوال تكون كالتالي :

اخطاء في مناداة الدوال :

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

ويجب عليك وقتها ان تقوم بملاحظة شيئين , الاول : هل الدالة موجوده او غير موجوده , الثاني : اذا كانت الداله موجوده هل الاسم ممنوع استخدامه ؟ لانه من الطبيعي انه لا يمكنك انشاء داله يكون اسمها print لانها اساسيه في PHP

اسماء وحالات الدوال :

هنا يجب عليك ان تعرف ان مناداة الدوال التي تقوم بإنشائها ليست حساسه لحالة الاحرف فالداله function_name() هي نفسها Function_Name() وهي ايضا نفسها الداله FUNCTION_NAME()
ولكن الاغلب استخداما بين المبرمجين هو ان تكون اسماء الدوال احرف صغيره , وايضا اسماء الدوال لا يمكن ان تبدأ بأرقام او تكون بإسماء دوال موجوده سابقا في اللغه او قمت بعملها انت

ولا تنسى ان اسماء المتغيرات تختلف , فالمتغير $name يختلف عن المتغير $NAME , فلا تقم بنسيان الدرس الثالث.

كتابة الدوال :

الان لنتعلم كيف نقوم بكتابة داله خاصه بنا , طريقة كتابتها هي كالتالي :

الان لنقم بطباعة داله خاصه بنا , نريد ان نقوم بإنشاء دالة تقوم بطباعة العباره ( اهلا وسهلا بكم ) , افتح محرر الاكواد وقم بكتابة التالي :

لاحظ ان العباره function يجب ان تقوم بكتابتها اذا اردت ان تقوم بإنشاء داله خاصه بك , وفي الكود بالاعلى لون العباره ( اسود ). هل تحتاج ان اقول لك كيفية استخدام هذه الداله ؟ اكيد انك تعرف , والطريقه هي كالتالي :

مدخلات الدوال :

عندما رأيت الداله include لاحظت انها تحتاج مدخل لكي تعمل بشكل صحيح , اليس كذلك ؟ واعتقد ان بعد الدوال التي سوف تقوم بإنشائها تحتاج الى هذه الخاصيه , اذن كيف تقوم بعملها , نفس طريقة الاولى والاختلاف فقط في التالي :

الان تخيل , الداله التي قمنا بعملها , التي تطبع الكلمه اهلا وسهلا , تريد ان تقوم هذه الداله بطباعة اي جمله انت تقوم بإعطائها للداله , كيف تقوم بذلك ؟ لاحظ المثال التالي :

طبعا هنا , اذا قمت بإستخدام الداله من غير كتابة مدخل , اي لم تقم بإعطائها قيمه , سوف يكون هناك خطأ , اذا هذه الطريقه يتوجب عليك ان تقوم بتحديد المدخل ايا كان نوعه , لو كنت تريد طباعة رقم سوف تستخدم نفس الدالة ولكن بدل العباره ( داله بها مدخلات ) تقوم بكتابة الرقم و مثال على ذلك ( sayWord( 15 ); ) وسوف تقوم بطباعة الرقم.
ماذا لو اردنا ان نجعل اكثر من معطى للداله ؟ هل يمكن ذلك ؟ نعم , اكتب في محرر الاكواد التالي :

يمكنك جعل عدد لا نهائي من المعطيات للداله , والامر يعود الى طريقتك واحتياجك.

لم ننتهي بعد , هناك نقطه اخرى , ماذا لو اردت ان يكون احد المعطيات اختياري ؟ مثالنا في الاعلى يفرض علينا ان نقوم بإدخال عبارتين , ماذا لو اردنا ان نجعل عباره اجباريه والاخرى اختياريه , كيف يمكن عمل ذلك ؟ عن طريق تعيين قيمه افتراضيه للمعطى في الداله , اكتب في محرر الاكواد التالي :

لنقم الان بعمل تطبيق صغير , في برنامجنا نريد ان يقوم بإدخال رقمين , ايا كانت , ونقوم بمقارنتها لنرى من الاكبر والاصغر , لنقم بذلك معا , افتح محرر الاكواد واكتب التالي :

يمكن ان تستخدم العباره IF اوSWITCH او FOR او WHILE داخل الدوال , نصيحه : ( عاملها كأنها برنامج مصغر )

مرجعات من الدوال :

هناك نوعان من الدوال , نوع يقوم بإرجاع مخرجات , والاخر يقوم بإرجاع بيانات , سوف نعرف الان النوع الاول , ماذا نعني بإرجاع مخراجات ؟؟؟ كما عملنا في المثال التطبيقي , يكون ارجاع الداله مخرجات اذا كان هناك العباره echo او العباره print او كود HTML

ارجاع بيانات من الدوال :

اعني بإرجاع بيانات من الدوال , اي ارجاع قيم , ليست للطباعه بمعنى اصح ونستخدم في هذه الحاله العباره return , في مثالنا التطبيقي , على سبيل المثال نريد ان نعرف ماهو العدد الاكبر لنستخدمه في كود اخر , لنرى كيفية عمله الان , اكتب التالي في محرر الاكواد :

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

استخدام ادراج الملفات مع الدوال :

الان بعد هذا الدرس الطويل جدا , وهذا الكلام الكثير , واعتذر ان قد جئت لكم بالملل 🙂 , ماهو رابط الادراج مع الدوال ؟ الجواب هو التالي : نقوم بجعل جميع دوالنا في ملف لوحدها , ثم نقوم بإدراج هذا الملف الى الملف الرئيسي ونقوم بإستخدام الدوال , لنأخذ مثالا على ذلك , قلنا في البدايه ان نجعل رأس الصفحه في ملف وذيل الصفحه في ملف ثم نقوم بإدراجهما الى صفحاتنا اليس كذلك ؟ هناك طريقه اخرى نستطيع عملها , نقوم بعمل داله جديده اسمها header( $title ) وداله اخرى اسمها footer() ونضع كود HTML داخلها , ونحفظها في صفحه اسمها output.php , وفي كل صفحه نقوم بإدراج الملف output.php ثم نستخدم الدوال التي قمنا بعملها 🙂 . دعني اقوم بطرح مثال اخر , لقد قمت بعمل دوال كثيره ودائما تقوم بحفظها في ملف , وتعلم انك قد تحتاجها في برامجك الاخرى او في اماكن اخرى , فتقوم بإدراج هذا الملف , واعادة استخدام هذا الكود مره اخرى , من غير ان تقوم بكتابة الكود او تقوم بأي مجهود اخر , ولكن اذا كنت تتبع هذه الطريقه فلا تقم بنسيان كتابة التعليقات , حتى لا تنسى عمل دوالك الخاصه


سؤال على الدرس :

1 – قم بعمل مقارنة بين عددين تقوم بإدخالها ( الداله ترجع العدد الاكبر ( لا تطبع ) ) , اذا نسي المستخدم كتابة احد الارقام , فقم بإستخدام قيمه افتراضيه , واذا قام بإدخال كلمه بدل ارقام , تقوم الداله بطباعة ( الرجاء ادخال رقم وليس حرف )

2 – قم بعمل نموذج المعلومات الشخصيه بإستخدام الدوال الخاصه , ادراج الملفات , واترك لك الحريه للتفكير في الطريقه

الـــدرس الــقادم :

تطبيقات على النماذج وعلى الدوال بشكل كامل , حيث نغطي جميع ما قمنا بتعلمه الى الان

 

نُشر في <a href="https://max4arab.com/category/%d8%af%d9%88%d8%b1%d8%a9-%d8%aa%d8%b9%d9%84%d9%8a%d9%85-php-%d9%83%d8%a7%d9%85%d9%84%d8%a9-%d8%a8%d8%a7%d9%84%d8%b9%d8%b1%d8%a8%d9%8a/" rel="category tag">دورة تعليم php كاملة بالعربي</a>، <a href="https://max4arab.com/category/%d8%b9%d8%a7%d9%85/" rel="category tag">عام</a> الموسومة <a href="https://max4arab.com/tag/%d8%a7%d8%af%d8%b1%d8%a7%d8%ac/" rel="tag">ادراج</a>، <a href="https://max4arab.com/tag/%d8%a7%d9%84%d8%ad%d8%a7%d8%af%d9%8a/" rel="tag">الحادي</a>، <a href="https://max4arab.com/tag/%d8%a7%d9%84%d8%af%d8%b1%d8%b3/" rel="tag">الدرس</a>، <a href="https://max4arab.com/tag/%d8%a7%d9%84%d9%85%d9%84%d9%81%d8%a7%d8%aa/" rel="tag">الملفات</a>، <a href="https://max4arab.com/tag/%d8%a8%d8%a3%d9%86%d9%88%d8%a7%d8%b9%d9%87%d8%a7/" rel="tag">بأنواعها</a>، <a href="https://max4arab.com/tag/%d8%af%d8%b1%d9%88%d8%b3-php/" rel="tag">دروس php</a>، <a href="https://max4arab.com/tag/%d8%af%d9%88%d8%b1%d8%a9-%d8%a8%d9%8a-%d8%a7%d8%aa%d8%b4-%d8%a8%d9%8a-%d8%b9%d8%b1%d8%a8%d9%8a%d8%a9/" rel="tag">دورة بي اتش بي عربية</a>، <a href="https://max4arab.com/tag/%d8%b9%d8%b4%d8%b1/" rel="tag">عشر</a>، <a href="https://max4arab.com/tag/%d9%88%d8%a7%d9%84%d8%af%d9%88%d8%a7%d9%84/" rel="tag">والدوال</a>

الدرس التاسع: انواع النماذج وطريقة كتابتها

كما قلنا سابقا , لدينا انواع كثيره تستخدم في النماذج ودرسنا لهذا اليوم سنتناول الاساسيه منها مثل الكتابه , وازرار الاختيار , ومربع الاختيار , ونوع حقل النصوص. قم بالتخيل معي والتذكر عندما قمت بتسجيل بريد الكتروني على موقع الياهوو , او الهوتميل , كان يطلب منك تعبئة الكثير من البيانات , مثل اسمك الاول واسم العائله , اللغه , الجنس , تاريخ الميلاد وغيرها

بسم الله الرحمن الرحيم

نتمنى ان تكون الاستفاده ممتازه من هذه الدروس ولا تترد بطرح اي سؤال على بريد الموقع او بريدي الشخصي وسوف يسعدني ان اقوم بالمساعده , اذا قمت بأي خطأ او كان هناك خطأ في معلوماتي الرجاء اعلامي بذلك , فلا تنسى انه جل من لا يسهو . ( ان اصبت من الله وان اخطأت فمن نفسي او الشيطان )

متطلبات قبل البدأ :

  • مراجعة الدرس السابق , مع محاولة القراءه عن النماذج وانواعها من مواقع اخرى

اهداف الدرس:

  • انواع مدخلات النماذج
  • نوع الكتابه ( text )
  • نوع ازرار الاختيار ( radio )
  • نوع مربع الاختيار ( check box )
  • نوع قائمة الاختيار ( select )
  • نوع حقل النصوص ( textarea )
  • نوع زر الارسال ( submit )
  • مثال تطبيقي
  • نوع كلمة المرور ( password )

انواع مدخلات النماذج :

كما قلنا سابقا , لدينا انواع كثيره تستخدم في النماذج ودرسنا لهذا اليوم سنتناول الاساسيه منها مثل الكتابه , وازرار الاختيار , ومربع الاختيار , ونوع حقل النصوص. قم بالتخيل معي والتذكر عندما قمت بتسجيل بريد الكتروني على موقع الياهوو , او الهوتميل , كان يطلب منك تعبئة الكثير من البيانات , مثل اسمك الاول واسم العائله , اللغه , الجنس , تاريخ الميلاد وغيرها , انظر الى الشكل التالي ( جزء من نموذج التسجيل في بريد الهوتميل ) لتساعد ذاكرتك بالتذكر :

لنقم بمعرفة ما يحتويه النموذج السابق , تابع الارقام ولاحظ التالي :

1 – مربع كتابه ( text ) لتكتب به اسمك الاول

2 – قائمة اختيار ( select ) لتقوم بإختيار اللغه منها

3 – ازرار اختيار ( radio ) لتقم بإختيار الجنس

————————————————–

لنقم برؤية الانواع الاخرى ,

ازرار الاختيار :

حقل النصوص :

نوع الكتابه ( text ) :

هذا النوع لكتابة النصوص القصيره , مثلما رأينا في الاعلى , الاسم , او البريد الالكتروني وغيرها , كيف نقوم بإنشاء هذا النوع , افتح محرر الاكواد وقم بكتابة التالي :

انقر على الصوره لتكبيرها

ازرار الاختيار ( radio ) :

هذا النوع يكون لاختيار من بعض المعلومات المتوفره , مثلا الجنس , ذكر او انثى , ارجع الى محرر الاكواد واكتب التالي ( اكمل على الكود السابق ) :

انقر على الصوره لتكبيرها

لاحظ في استخدامنا للكود استخدمنا الكلمه ( checked ) , وهذا معناه انه عندما تقوم برؤية الصفحه , سوف يكون هذا الاختيار معلم

نوع مربع الاختيار ( check box ) :

هذاالنوع يمكنك من اختيار اكثر من خيار في وقت واحد , مثل الهوايات , او مواصفات معينه تريدها في سيارتك المستقبليه , ارجع الى محرر الاكواد واكتب التالي ( اكمل على الكود السابق ) :

انقر على الصوره لتكبيرها

نوع قائمة الاختيار ( select ) :

هنا , تستطيع اختيار شيئ , من اشياء موجوده مسبقا , مثل اللغه الافتراضيه , هل تريدها العربية او الانجليزية , ولدينا نوعان منها :

النوع الاول : اختيار شيء واحد فقط ( يمكن اختيار شيئ واحد فقط من الموجود ) , ارجع الى محرر الاكواد واكتب التالي ( اكمل على الكود السابق ) :

انقر على الصوره لتكبيرها

النوع الثاني : اختيار اكثر من شيئ في وقت واحد ( يمكن اختيار اكثر من شيئ واحد من الموجود ) , ارجع الى محرر الاكواد واكتب التالي ( اكمل على الكود السابق ) :

لاحظ هنا اننا جعلنا الاختيار يكون اكثر من واحد عن طريق الكلمه ( multiple )

نوع حقل النصوص ( textarea ) :

في هذا النوع , نقوم بجعل المستخدم يقوم بكتابة كلمات كثيرة , مثل معلومات شخصيه عن نفسه , او رساله يحب ان يوجهها الى الموقع ( اذا كنت تكتب في منتديات فمكان كتابة محتوى الموضوع يعتبر حقل نصوص ) , ارجع الى محرر الاكواد وقم بكتابة التالي , ( اكمل على لكود السابق ) :

زر الارسال ( submit ) :

بعدما ينتهي المستخدم من تعبئة البيانات المتطلبه , يجب ان يكون هناك ازرار يقوم بالنقر عليه لكي نتحقق من صحة البيانات , او لنقوم بتسجيله لدينا او غير ذلك , ارجع الى محرر الاكواد وقم بكتابة التالي ( اكمل على الكود السابق ) :

مثال تطبيقي :

الان قم بحفظ الملف وقم بتشغيله , ولاحظ ان ناتجك سوف يكون التالي :

نوع كلمة المرور ( password ) :

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

فقط في نوع النموذج نكتب العباره password وسوف نحصل على حقل لكلمة المرور


سؤال على الدرس :

قم بكتابة الكود السابق كاملا ( النموذج ) عن طريق دمجه مع لغة PHP , في الاعلى قمنا بكتابته ب كود HTML ومنفصلا عن PHP , حاول الان كتابته مع PHP ( راجع الدرس السابع )

الـــدرس الــقادم :

سوف نقوم في الدرس القادم بإرسال النموذج الذي قمنا بعمله هنا الى صفحة PHP , ومحاولة التحقق من المعلومات المدخلة والكثير من الاشياء الممتعه , هل تشوقت الى المعرفه ؟ فقط انتظر الدرس القادم 🙂

 

نُشر في <a href="https://max4arab.com/category/%d8%af%d9%88%d8%b1%d8%a9-%d8%aa%d8%b9%d9%84%d9%8a%d9%85-php-%d9%83%d8%a7%d9%85%d9%84%d8%a9-%d8%a8%d8%a7%d9%84%d8%b9%d8%b1%d8%a8%d9%8a/" rel="category tag">دورة تعليم php كاملة بالعربي</a>، <a href="https://max4arab.com/category/%d8%b9%d8%a7%d9%85/" rel="category tag">عام</a> الموسومة <a href="https://max4arab.com/tag/%d8%a7%d9%84%d8%aa%d8%a7%d8%b3%d8%b9/" rel="tag">التاسع</a>، <a href="https://max4arab.com/tag/%d8%a7%d9%84%d8%af%d8%b1%d8%b3/" rel="tag">الدرس</a>، <a href="https://max4arab.com/tag/%d8%a7%d9%84%d9%86%d9%85%d8%a7%d8%b0%d8%ac/" rel="tag">النماذج</a>، <a href="https://max4arab.com/tag/%d8%a7%d9%86%d9%88%d8%a7%d8%b9/" rel="tag">انواع</a>، <a href="https://max4arab.com/tag/%d8%af%d8%b1%d9%88%d8%b3-php/" rel="tag">دروس php</a>، <a href="https://max4arab.com/tag/%d8%af%d9%88%d8%b1%d8%a9-%d8%a8%d9%8a-%d8%a7%d8%aa%d8%b4-%d8%a8%d9%8a-%d8%b9%d8%b1%d8%a8%d9%8a%d8%a9/" rel="tag">دورة بي اتش بي عربية</a>، <a href="https://max4arab.com/tag/%d9%83%d8%aa%d8%a7%d8%a8%d8%aa%d9%87%d8%a7/" rel="tag">كتابتها</a>، <a href="https://max4arab.com/tag/%d9%88%d8%b7%d8%b1%d9%8a%d9%82%d8%a9/" rel="tag">وطريقة</a>

الدرس الثامن: النماذج وانواع ارسال البيانات

عندما تقوم بإنشاء بريد الكتروني جديد لدى الياهو , او الهوتميل , يتوجب عليك ان تقوم بتعبئة نموذج التسجيل , الذي يتضمن الاسم وكلمة المرور والبريد المراد انشائه , كل هذا نقوم عمله عن طريق النماذج ( FORMS ) واتوقع ان لديك شوق كبير لكي تقوم بفعل مثل هذه الامور في كود او برنامجك او موقعك البرمجي قريبا 🙂 , اذا ما نقصد به بي النماذج هو ان تقوم بتعبئة نموذج بمعلومات مطلوبه , ثم ارسالها . واعتقد انك لاحظت ان بعض النماذج تحتوى على انواع كثيره , مثل مربعات الكتابه , مربعات النصوص الكبيره , مربعات الاختيار , ازرار الاختيار , حقول الاختيار , كل هذا سوف نقوم بتعمله معا وسوف يكون بوابة البدايه لعمل موقعك بلغة PHP…..

بسم الله الرحمن الرحيم

نتمنى ان تكون الاستفاده ممتازه من هذه الدروس ولا تترد بطرح اي سؤال على بريد الموقع او بريدي الشخصي وسوف يسعدني ان اقوم بالمساعده , اذا قمت بأي خطأ او كان هناك خطأ في معلوماتي الرجاء اعلامي بذلك , فلا تنسى انه جل من لا يسهو . ( ان اصبت من الله وان اخطأت فمن نفسي او الشيطان )

متطلبات قبل البدأ :

  • لا يوجد

اهداف الدرس:

  • النماذج ( FORMS )
  • كيفية كتابة النماذج
  • انواع ارسال البيانات
  • النوع GET
  • النوع POST
  • الفروقات بين GET و POST

النماذج ( FORMS ) :

عندما تقوم بإنشاء بريد الكتروني جديد لدى الياهو , او الهوتميل , يتوجب عليك ان تقوم بتعبئة نموذج التسجيل , الذي يتضمن الاسم وكلمة المرور والبريد المراد انشائه , كل هذا نقوم عمله عن طريق النماذج ( FORMS ) واتوقع ان لديك شوق كبير لكي تقوم بفعل مثل هذه الامور في كود او برنامجك او موقعك البرمجي قريبا 🙂 , اذا ما نقصد به بي النماذج هو ان تقوم بتعبئة نموذج بمعلومات مطلوبه , ثم ارسالها . واعتقد انك لاحظت ان بعض النماذج تحتوى على انواع كثيره , مثل مربعات الكتابه , مربعات النصوص الكبيره , مربعات الاختيار , ازرار الاختيار , حقول الاختيار , كل هذا سوف نقوم بتعمله معا وسوف يكون بوابة البدايه لعمل موقعك بلغة PHP

كيفية كتابة النماذج :

بما انك ايها الزائر الكريم مبتدئ في لغة PHP , فما انصح به هو , ان تقوم دائما بإنشاء النماذج عن طريق برنامج Microsoft FrontPage , ثم بعد ذلك عمل نسخ لكود HTML ولصقه في محرر اكواد لغة PHP , وتقوم بعدل ذلك ما قمنا بعمله في الدروس الاولى , اما ان تجعل كود HTML او ان تجعله مدمج مع لغة PHP , لنأخذ بعض الامثله على ذلك , انظر الى التالي:

المثال الاول :

لنقم بشرح ماتؤشر عليه الارقام لكي تقوم بفهم ما تحويه النماذج ,

1 – نوع ارسال البيانات , هل بطريقة POST او الطريقة GET وسوف نقوم بشرح ذلك كله بعد قليل

2 – الى اين يؤدي هذا النموذج , وفي مثالنا هذا , يؤدي الى صفحه PHP تسمى result.php

3 – ماهو نوع المدخل , هل هو مربع كتابه ( text ) او مربع نصوص ( text area ) او مربع اختيار ( check box ) او زر اختيار ( radio ) او حقل اختيار ( option )

4 – ماهو اسم النموذج , بمعنى اخر ماهو اسم المتغير للنموذج , لاحظ ان اسم المتغير هنا هو name وفي السطر الذي تحته اسم المتغير هو email وسوف تقوم بفهم هذا لاحقا

5 – ماهو محتوى النموذج , او لنقل قيمة المتغير , فلو وضعنا في مدخل name العباره value = “arccn” بعد name=”name” سوف تجد انه يكتب افتراضيا داخل المربع الكتابه arccn

الذي رأينها في الاعلى هو عبارة عن كود HTML خارج كود PHP , وعند استخدامنا هذا الكود بداخل لغة PHP فسوف يكون بالشكل التالي :

انواع ارسال البيانات :

لقد ذكرت سابقا ان نوع ارسال البيانات بطريقين ( الاغلب استخداما ) وفي POST و GET , طبعا يوجد طرق ارسال اخرى ولكن تستخدم نادرا جدا , وعند مشاهدة الكثير من الاكواد ما سوف تقوم بمشاهدته اما الطريقه POST او الطريقه GET

النوع GET :

النوع GET يمكنك تمييزه عندما تقوم بإرسال شي عن طريق نموذج , فإنك سوف ترى في العنوان الصفحه التي ستذهب اليها ثم العلامه ( ؟ ) متبوعه بإسم المتغير ثم العلامه ( = ) ثم بعد ذلك القيمه الموجوده بالمتغير , واذا قمت بالتفكير قليلا , فلن تعتقد ان هذه الطريقه تصلح لارسال اسم مستخدم وكلمة مرور او رقم بطاقة دفع الكترونيه عبر المتصفح , وذلك لانه يمكن لاي شخص يجلس بجانب المستخدم ان يرى محتوى الارسال

مثال على العنوان الذي سيظهر بالمتصفح هو التالي :

لاحظ هنا انك تريد الذهاب الى الصفحه module.php , وتقوم بأعطاء الصفحه المتغير name ويحتوي News ثم بعد ذلك الرمز ( & ) ويعني انه يوجد متغير اخر ايضا , ثم المتغير new_topic ويحتوي على الرقم 2

النوع POST :

النوع POST يمكنك معرفه انه يستخدم في هذه الصفحه , عندما تقوم بإرسال معلومات الى صفحه اخرى , ولا تجد في العنوان الرمز ( ؟ ) وبعده بعض المتغيرات , وانما فقط اسم الصفحه , والخفايا تحصل بين الصفحات ولا يمكنك مشاهدتها ( ولا يعني ذلك انه دائما عندما لا يوجد الرمز ( ؟ ) نقوم بإستخدام الطريقة POST , بل في معظم الاحيان

مثال على العنوان الذي سيظهر بالمتصفح هو التالي :

لو تتمعن في العنوان , فلن تجد ما رأينها في الطريقة GET ولا يمكنك تحديد هنا انه قمنا بإرسال بيانات الى الصفحه module.php ام لا

الفروقات بين GET و POST :

قد تقوم بسؤال التالي , متى استخدم GET ومتى استخدم POST , هناك بعض من الفروقات بين الطريقتين , اولها ان الطريقه POST يوجد بها حمايه اكثر من الطريقه GET , كما رأيت سابقا لا نقوم بطباعة المتغيرات في المتصفح. ثانيا الطريقه POST تقوم بإرسال بيانات بكمية اكبر من الطريقة GET . مثلا , لو تقوم بإرسال رقم بطاقه ائتمانيه او كلمة مرور المستخدم فلا اعتقد انك سوف تستخدم الطريقة GET , اتوقع انك تعرف لماذا. عموما الطريقه GET تستخدم في معظم الاوقات للاستعلام عن بيانات , والطريقة POST تستخدم لادخال بيانات او تحديث البيانات. ثالث فرق هوه ان الطريقه GET اسرع من الطريقه POST , لذلك نراها تستخدم في محركات البحث مثل google و yahoo و msn وغيرها. ليست هذه كل الفروق بين العبارتين ولكن تعتبر هذه الفروق الاساسيه , وما تحتاج معرفته حاليا


الـــدرس الــقادم :

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

 

نُشر في <a href="https://max4arab.com/category/%d8%af%d9%88%d8%b1%d8%a9-%d8%aa%d8%b9%d9%84%d9%8a%d9%85-php-%d9%83%d8%a7%d9%85%d9%84%d8%a9-%d8%a8%d8%a7%d9%84%d8%b9%d8%b1%d8%a8%d9%8a/" rel="category tag">دورة تعليم php كاملة بالعربي</a>، <a href="https://max4arab.com/category/%d8%b9%d8%a7%d9%85/" rel="category tag">عام</a> الموسومة <a href="https://max4arab.com/tag/%d8%a7%d8%b1%d8%b3%d8%a7%d9%84/" rel="tag">ارسال</a>، <a href="https://max4arab.com/tag/%d8%a7%d9%84%d8%a8%d9%8a%d8%a7%d9%86%d8%a7%d8%aa/" rel="tag">البيانات</a>، <a href="https://max4arab.com/tag/%d8%a7%d9%84%d8%ab%d8%a7%d9%85%d9%86/" rel="tag">الثامن</a>، <a href="https://max4arab.com/tag/%d8%a7%d9%84%d8%af%d8%b1%d8%b3/" rel="tag">الدرس</a>، <a href="https://max4arab.com/tag/%d8%a7%d9%84%d9%86%d9%85%d8%a7%d8%b0%d8%ac/" rel="tag">النماذج</a>، <a href="https://max4arab.com/tag/%d8%af%d8%b1%d9%88%d8%b3-php/" rel="tag">دروس php</a>، <a href="https://max4arab.com/tag/%d8%af%d9%88%d8%b1%d8%a9-%d8%a8%d9%8a-%d8%a7%d8%aa%d8%b4-%d8%a8%d9%8a-%d8%b9%d8%b1%d8%a8%d9%8a%d8%a9/" rel="tag">دورة بي اتش بي عربية</a>، <a href="https://max4arab.com/tag/%d9%88%d8%a7%d9%86%d9%88%d8%a7%d8%b9/" rel="tag">وانواع</a>

الدرس السابع: متفرقات عن لغة PHP

في درسنا لهدذا اليوم سوف نتعلم طريقه اخرى لكتابة العباره الشرطيه عن طريق المتغير ( ؟ ) , وسوف نتعلم عن وسوم البدايه والنهايه في العبارات وانواعها , واكيد لن ننسى العباره exit و continue , واخيرا سوف نرى كيفية دمج HTML مع PHP وتعلمها بطريق اوسع

بسم الله الرحمن الرحيم

نتمنى ان تكون الاستفاده ممتازه من هذه الدروس ولا تترد بطرح اي سؤال على بريد الموقع او بريدي الشخصي وسوف يسعدني ان اقوم بالمساعده , اذا قمت بأي خطأ او كان هناك خطأ في معلوماتي الرجاء اعلامي بذلك , فلا تنسى انه جل من لا يسهو . ( ان اصبت من الله وان اخطأت فمن نفسي او الشيطان )

متطلبات قبل البدأ :

  • لا يوجد

اهداف الدرس:

  • عبارة IF بطريقة اخرى
  • بداية وسوم العبارات ونهايتها
  • العباره EXIT
  • العباره CONTINUE
  • لغة PHP مع HTML بطريقة اوسع

عبارة IF بطريقة اخرى :

يمكنك كتابة العباره IF بطريقه اخرى , او نستطيع ان نقول طريقه اسرع , ويمكننا استعمالها عن طريق العباره التاليه ( ؟ ) , لم توضح الصوره كامله ؟ لنقم برؤية كيفية كتابتها , شاهد التالي :

الان تمعن في المثال التالي وسوف يمكنك ان ترى ان طريقتها سهله , افتح محرر الاكواد واكتب مايلي :

لاحظ هنا اننا نعرف متغير اسمه x ثم نقوم بمقارنة هذا المتغير , ونرى انه اذا يساوي 1 فكتب العباره ( one ) واذا لم ياسوي واحد فاكتب العباره ( Two ) , وكل هذا السطر البرمجي نضعه في المتغير $result , وذلك لان ناتج هذه العباره سوف نجعله في المتغير $result , ارأيت سهولة الكود ؟ جرب وحاول ان تغير كود من دروسنا السابقه بهذه الطريقة , ولاحظ الناتج , وسوف ترى انه نفس الناتج

بداية وسوم العبارات ونهايتها :

تعلمنا فيما سبق , انه اذا اردنا ان نقوم بكتابة الدوال فيجب علينا ان نستخدم الوسم ( } و { ) اليس ذلك صحيحا ؟ ولكن هناك طريقة اخرى لا نكتب بها الوسوم هذه وهي عندما يكون متضمن الجمله الشرطيه سطر واحد فقط , شاهد المثال التالي :

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

العباره EXIT :

تستخدم العباره exit للخروج من محتوى وسوم ( { و } ) , واعتقد انه لا تحتاج الى شرح مطول, فما تفعله هذه العباره هو ان تقوم بأخراجك من كود ال PHP كاملا , انظر الى الكود التالي

لاحظ انه هنا لم يقم بطباعة العبارة ( ARCCN ) مع ان العباره خارج الشروط , ويجب ان تنفذ , ولكن مع استخدام العباره EXIT قمنا بالخروج من كود PHP كاملا ( لم نخرج من العباره فقط )

العباره CONTINUE :

العباره continue سهله ايضا , وماتقوم به هو ان تقوم بإخراج من التكرار لمرة واحده في عبارة التكرار , كلام مبهم وغير واضح اليس كذلك ؟ ما اعنيه هنا , تخيل اننا نقوم بالتكرار 5 مرات , ونريد في المره الثالثه ان نخرج من التكرار ( لا نخرج من التكرار كاملا ) , فقط من التكرار رقم 3 , عند ذلك يمكننا استخدام العباره CONTINUE , لنأخذ مثالا على ذلك لتوضيع الصوره , معروف لدينا ان لا يمكن القسمه ابدا على العدد ( 0 ) اليس ذلك صحيحا ؟ تخيل انا اردنا ان نقوم بقسمة العدد 4 على ( 4 الى -4 ) ونريد ان نفعل ذلك بإستعمال اداة التكرار , ولكن نريد ان نخرج من التكرار عندما يكون معامل القسمه ( 0 ) فما نفعله هو التالي , افتح محرر الاكواد وقم بكتابة ما يلي :

لغة PHP مع HTML بطريقة اوسع :

رأينا في كثير من الامثله , اننا نقوم بكتابة كود ال HTML خارج كود لغة PHP , كمثالنا في جدول الضرب , وايضا يمكننا ان نقوم بكتابة لغة HTML مع لغة PHP واقصد بذلك استخدام العباره echo او print لنقوم بإخراج كود HTML , قم بمشاهدة المثال التالي , ( جدول الضرب معدل ) :

فقط يجب عليك ان تقوم بكتابة العباره echo او print في سطر ال HTML وان تضع علامتي التنصيص ” ” بين بداية ونهاية الكود . تذكر دائما ان عندما يكون هناك العلامه ( = ) في كود HTML يجب ان تقوم بوضع علامة قبل كل ” , لاحظ الكود في الاعلى , ما اقوم به هو ان اضع العلامه قبل ” انظر الى الكود التالي:


الـــدرس الــقادم :

سوف نقوم في الدرس القادم بمعرفة بمعرفة النماذج , وسوف يكون معظم كلامنا عن لغة HTML وسوف نحاول ان نشمل جيمع ما يتعلق بالنماذج وارسالها وكيفية تطبيقها واستخدامها مع لغة PHP

 

نُشر في <a href="https://max4arab.com/category/%d8%af%d9%88%d8%b1%d8%a9-%d8%aa%d8%b9%d9%84%d9%8a%d9%85-php-%d9%83%d8%a7%d9%85%d9%84%d8%a9-%d8%a8%d8%a7%d9%84%d8%b9%d8%b1%d8%a8%d9%8a/" rel="category tag">دورة تعليم php كاملة بالعربي</a>، <a href="https://max4arab.com/category/%d8%b9%d8%a7%d9%85/" rel="category tag">عام</a> الموسومة <a href="https://max4arab.com/tag/php/" rel="tag">php</a>، <a href="https://max4arab.com/tag/%d8%a7%d9%84%d8%af%d8%b1%d8%b3/" rel="tag">الدرس</a>، <a href="https://max4arab.com/tag/%d8%a7%d9%84%d8%b3%d8%a7%d8%a8%d8%b9/" rel="tag">السابع</a>، <a href="https://max4arab.com/tag/%d8%af%d8%b1%d9%88%d8%b3-php/" rel="tag">دروس php</a>، <a href="https://max4arab.com/tag/%d8%af%d9%88%d8%b1%d8%a9-%d8%a8%d9%8a-%d8%a7%d8%aa%d8%b4-%d8%a8%d9%8a-%d8%b9%d8%b1%d8%a8%d9%8a%d8%a9/" rel="tag">دورة بي اتش بي عربية</a>، <a href="https://max4arab.com/tag/%d8%b9%d9%86/" rel="tag">عن</a>، <a href="https://max4arab.com/tag/%d9%84%d8%ba%d8%a9/" rel="tag">لغة</a>، <a href="https://max4arab.com/tag/%d9%85%d8%aa%d9%81%d8%b1%d9%82%d8%a7%d8%aa/" rel="tag">متفرقات</a>

الدرس السادس: عبارات شرطيه وتكرار اخرى

كما قلنا في دروس سابقه ان لغة PHP لغه مسامحه , حيث انه توفر لك العديد من المزايا , ولا اعلم بشكل صحيح 100% اذا كانت المسافات تعتبر من الاشياء مسامحه ام لا , ولكن اليك ما اعرفه , في لغة PHP المسافات لا تحسب , اعني بذلك انه عندما تقوم بكتابة الكود فلا يميز المترجم انه هناك مسافات في الكود او لا ……

بسم الله الرحمن الرحيم

نتمنى ان تكون الاستفاده ممتازه من هذه الدروس ولا تترد بطرح اي سؤال على بريد الموقع او بريدي الشخصي وسوف يسعدني ان اقوم بالمساعده , اذا قمت بأي خطأ او كان هناك خطأ في معلوماتي الرجاء اعلامي بذلك , فلا تنسى انه جل من لا يسهو . ( ان اصبت من الله وان اخطأت فمن نفسي او الشيطان )

متطلبات قبل البدأ  :

  • مراجعة درس العبارات الشرطية

  • مراجعة درس عبارة التكرار WHILE

اهداف الدرس:

  • المسافات في لغة PHP
  • العباره الشرطية SWITCH
  • عبارة التكرار FOR
  • عبارة التكرار DO…WHILE
  • عبارات داخل عبارات
  • مثال تطبيقي

المسافات في لغة PHP:

كما قلنا في دروس سابقه ان لغة PHP لغه مسامحه , حيث انه توفر لك العديد من المزايا , ولا اعلم بشكل صحيح 100% اذا كانت المسافات تعتبر من الاشياء مسامحه ام لا , ولكن اليك ما اعرفه , في لغة PHP المسافات لا تحسب , اعني بذلك انه عندما تقوم بكتابة الكود فلا يميز المترجم انه هناك مسافات في الكود او لا , بغض النظر عن النصوص عندما تضعها بين علامتي التنصيص ” ” سوف اقوم بكتابة كودين الان , ولاحظ الفرق بينهما , الاول بمسافات والثاني بدون مسافات :

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

قم بتشغيل الكود الاول والثاني , وسوف تلاحظ ان جميع المثالين اخرجا نفس الناتج بغض النضر عن المسافات

العباره الشرطية SWITCH :

تعلمنا في الدرس قبل السابق العباره الشرطيه IF وتوابعها والان سوف نتعلم العباره SWITCH وهي تعمل بنفس طريقة العباره IF ولكن يتم كتابتها بطريقة اخرى ويتم تنفيذ شرط واحد فقط اما في IF فيمكن كتابة عدة شروط  , لنرى كيفية الكتابه , انظر الصوره التاليه :

 لنقم برؤية مثال على الطبيعه لتعرف كيفية عمل هذه الداله :

ارأيت الطريقه ؟ بسيطه اليس كذلك ؟ ولاحظ اننا نعني بأنه يمكن في العباره IF كتابة اكثر من شرط مثل if( $x == 1 && $y == 4 )  ولكن في العباره SWITCH يمكننا فقط مقارنة متغير واحد فقط switch ( $ x ) , وايضا يمكن ان تقوم بألغاء اخر سطرين ( في الصوره سطر رقم 18 و 19 ) ولا يتوجب كتابتها وهي تعني ( ELSE ) اي غير ذلك ( حينما لا يتحقق اي شرط من الشروط ) , وايضا يجب ان تتذكر انه دائما يجب عليك كتابة العباره BREAK بعد نهاية كل CASE في العبارة SWITCH ولا يتوجب وجودها في السطر الذي يحوي DEFAULT

عبارة التكرار FOR :

هناك عبارة تكرار اخرى غير العباره WHILE وهي العباره FOR , وتستخدم دائما اكثر من العباره WHILE لان ديناميكيتها اكبر من WHILE ولكن ناتج عمل الاثنين واحد , واذا عملت عباره بالاولى يمكن عملها بالثانيه والعكس , ولا يوجد ناتج تقوم بعمله في الاولى ولا تستطيع ان تقوم به في الثانيه , والقرار في الاخير يرجع الى المبرمج , لنرى طريقة الكتابه وهي كالتالي :

مثال على العباره , لنقم بالعد من 1 الى خمسه , مثلما فعلنا مع العباره WHILE ونرى ماهي الاختلافات :

في هذه المره قمنا بعملها فقط ب 5 اسطر , هل لاحظت الفروقات الان ؟ الفرق الاول في العباره WHILE اننا نحدد المتغير في البدايه , وزيادة المتغير داخل العباره, اما في العباره FOR فاننا نستطيع فعل ذلك كله بين القوسين التي يوجد بها الشروط , ونترك باقي العمل الى FOR , لا تنسى ان $i++ هي نفسها $i = $i + 1

عبارة التكرار DO…WHILE :

تختلف عبارة التكرار هذه عن اختها WHILE انها تقوم بتنفيذ الامر اولا , ثم بعد ذلك تقوم بمقارنة الشرط , وطريقة كتابتها كالتالي :

لنقم مره اخرى بكتابة الاعداد من 1 الى عشره ونرى الاختلاف , اكتب في محرر الاكواد التالي:

هل لاحظت الاختلاف ؟ فقط انه قمنا بطباعة العدد قبل التحقق من الشرط , والتغيير طفيف ويستخدم عند الحاجه , لا تقلق في التطبيقات المتقدمه سوف نشاهد بعض من هذه الحيل البرمجيه, ملاحظه:  لا تقم ابدا بنسيان الفاصله المنقوطه بعد كتابة الشرط , والا سوف يكون هناك خطأ برمجي في الكود 🙂

عبارات داخل عبارات :

كما قلنا في دروس سابقه , يمكننا ادراج عبارات داخل عبارات  , اي انه يمكنك كتابة العباره FOR وداخلها العباره FOR , او العباره WHILE وداخلها العباره FOR وداخلها IF كل ذلك سهل جدا , ويحتاج الى قليل من التركيز , سوف نقوم الان بعمل مثال تطبيقي يحتوي على عبارة تكرار وداخلها عبارة تكرار , لنقم بعمل جدول الضرب ونحاول مع بعضنا البعض كتابة الكود , لنقم بتسهيل الامر , قم بفتح برنامج Microsoft FrontPage في جهازك وقم بكتابة جدول الضرب العدد 2 من ( 1 – 5 ) , انظر الشكل التالي:

وعند مشاهدة محتوى كود ال HTML سوف ترى التالي :

 الان قم بالتركيز معي لكي توضح الصوره , لو نظرت الى الكود بالاعلى تجد انه HTML فقط وتجد انه مكرر كثيرا , وانت تحتاج الى استخدام عبارات التكرار لتقم بتسهيل الموضوع على نفسك , اذن يجب ان تكتشف اماكن التكرار , دقق في الكود وحاول ان تعرف اماكن التكرار ……….. هل عرفت الاماكن ؟ انظر الى الكود التالي وسوف احدد لك اماكن التكرار

انظر الى الخطوط السوداء , ترى ان الوسم <tr> و الوسم </tr> يتكرران في كل مره ننشئ بها صف ( ROW ) جديد , اذن الان نحتاج الى دالة تكرار ونحتاج ان تقوم بالتكرار 5 مرات لاننا نريد جدول الضرب للعد 2 من ( 1 الى 5 ) ( قم بعد الخطوط السوداء وسوف تجد انها 5 خطوط ) , لكي نقوم بتكرار الاصفف , افتح محرر الاكواد واكتب التالي :

الان لقد عرفنا كيفية تكرار الاصفف , اذن لنظر الى صورة كود HTML مره ثانيه , وقم بالبحث عن تكرار جديد , اذا لم يوجد , فقد انتهينا , وان وجد فنحتاج الى ان نقوم بكتابة دالة التكرار مره اخرى , …………….. هل عرفت مكان التكرار الاخر ؟ انظر الى الصوره لترى اين هو

لاحظ هنا ان الوسم <td> و </td> يتكرر في كل مره نكتب بها عدد جديد , والوسم <TD> هو لكتابة الخلايا في الجدول , تكرر الوسم عندنا , وفي كل مره نقوم بكتابة الخليه مرتان , اذن نحتاج ان نقوم بالتكرار مرتان ( لاننا نريد جدول الضرب للعدد 2 ) , ارجع الى محرر الاكواد واكتب التالي ( بين وسم <tr> و  </tr> ) ,

ما قمنا به هنا , اننا قمنا بتكرار الوسوم <td> على حسب العدد الذي نريد انشاء عملية الضرب له , لاحظ ان المتغير x شرطه ان يكون اقل من او يساوي العدد 2 لكي يستمر في التكرار , ولاحظ هنا اننا نقوم بعملية ضرب المتغير x والمتغير y في مكان كتابة محتوى الصف , لكي نقوم بكل شي تلقائيا , قم بتشغيل الكود وسوف يكون الناتج التالي :

ارأيت الان قمنا بكتابة جدول الضرب للعدد 2 بمجرد عبارتين تكرار صغيره 🙂 ممتع جدا اليس كذلك ؟ لكن لم ننتهي بعد , لو نظرت الى كود ال HTML  ترى اننا نريد كتابة العباره التاليه في الجدول  ( مضروب في ) , لكي نقوم بإخراج الجدول بشكل افضل , انظر الى الصوره وستعرف ما اعنيه

كيف نقوم بذلك في دالتين التكرار , قم بوضع يدك على رأسك واستغرق في التفكير لمدة دقيقتان وانت تنظر الى الكود , واسأل نفسك , كيف سأقوم بعملها , وسوف يأتيك الجواب كالتالي , نقوم بكتابة العباره ( مضروب في ) في اول وسم <td> وفي اول وسم <tr> , يعني عندما يكون المتغير x يساوي 1 وعندما يكون المتغير y يساوي 1 , قمنا بحل المشكله وما نحتاجه هو عبارة IF الشرطية ويكون شرطها انه عندما يكون المتغير x يساوي 1 و المتغير y يساوي واحد , لا تقم بضرب المتغيرين بل قم بكتابة العباره ( مضروب في ) غير ذلك قم بضرب المتغيرين مع بعضهمها البعض , اذن ارجع الى محرر الاكواد وقم بتعديل الكود الى التالي:

وفي النهايه سوف يكون ناتج عملك الرائع هو الجدول التالي ,

اتمنى ان يكوني شرحي جعلك تفهم هذه النقاط جيدا , ولا تنسى انه يجب ان تقوم بمحاولة عمل اشياء انت تريدها , ولا تحصر التمارين على ما تراه هنا , لكي تقوم بالتوسع في البرمجه 🙂


اسئـــلة على الدرس :

  1. قم بتعديل جدول الضرب في الاعلى , واجعله للعدد 2 و 3 و 4 و 5 و 6 و 7 و 8 و 9 و 10 , واجلعه يقوم بالضرب من العدد ( 1 – 10 ) مثل جدول المدارس 🙂 مساعده : الحل يكمن في الشروط

الـــدرس الــقادم :

سوف نقوم في الدرس القادم بمعرفة معلومات عن بعض الدوال المفيده , ومعلومات عن الوسوم , وكتابة PHP مع HTML لكي تستعد الى الدخول الى عالم النماذج

 

نُشر في <a href="https://max4arab.com/category/%d8%af%d9%88%d8%b1%d8%a9-%d8%aa%d8%b9%d9%84%d9%8a%d9%85-php-%d9%83%d8%a7%d9%85%d9%84%d8%a9-%d8%a8%d8%a7%d9%84%d8%b9%d8%b1%d8%a8%d9%8a/" rel="category tag">دورة تعليم php كاملة بالعربي</a>، <a href="https://max4arab.com/category/%d8%b9%d8%a7%d9%85/" rel="category tag">عام</a> الموسومة <a href="https://max4arab.com/tag/%d8%a7%d8%ae%d8%b1%d9%89/" rel="tag">اخرى</a>، <a href="https://max4arab.com/tag/%d8%a7%d9%84%d8%af%d8%b1%d8%b3/" rel="tag">الدرس</a>، <a href="https://max4arab.com/tag/%d8%a7%d9%84%d8%b3%d8%a7%d8%af%d8%b3/" rel="tag">السادس</a>، <a href="https://max4arab.com/tag/%d8%af%d8%b1%d9%88%d8%b3-php/" rel="tag">دروس php</a>، <a href="https://max4arab.com/tag/%d8%af%d9%88%d8%b1%d8%a9-%d8%a8%d9%8a-%d8%a7%d8%aa%d8%b4-%d8%a8%d9%8a-%d8%b9%d8%b1%d8%a8%d9%8a%d8%a9/" rel="tag">دورة بي اتش بي عربية</a>، <a href="https://max4arab.com/tag/%d8%b4%d8%b1%d8%b7%d9%8a%d9%87/" rel="tag">شرطيه</a>، <a href="https://max4arab.com/tag/%d8%b9%d8%a8%d8%a7%d8%b1%d8%a7%d8%aa/" rel="tag">عبارات</a>، <a href="https://max4arab.com/tag/%d9%88%d8%aa%d9%83%d8%b1%d8%a7%d8%b1/" rel="tag">وتكرار</a>

الدرس الخامس: عبارات التكرار

بعد ان عرفنا العبارات الشريطة وكيفية تحديد مسار برنامجنا , نأتي الان الى عبارات التكرار , وكما يدل اسمها , فإننا نكرر شيء معين ونقوم بتكراره وتكراره, واستخدام هذه العباره له فوائد عديده وكبيره , تخيل ان لديك كود معين وتلاحظ انك تقوم بكتابة هذا الكود اكثر من مره , لكي تصل الى هدف معين , فلماذا لا تختصر الوقت وتجعل الكود يقوم بتكرار نفسه الى حد معين تقوم انت بتحديده , الا يتعبر ذلك اسهل واوفر من ناحية الوقت والتنفيذ ؟ وايضا الجهد الذي ستقوم بتوفيره لاكواد اخرى. ان ذلك لا يعني ان عبارة التكرار سهله او يمكن عملها في لحظات , عبارة التكرار يجب ان تفهم جيدا قبل كتابتها و التفكير في كيفية عملها والناتج الذي نريد الخروج به من عملها…

بسم الله الرحمن الرحيم

نتمنى ان تكون الاستفاده ممتازه من هذه الدروس ولا تترد بطرح اي سؤال على بريد الموقع او بريدي الشخصي وسوف يسعدني ان اقوم بالمساعده , اذا قمت بأي خطأ او كان هناك خطأ في معلوماتي الرجاء اعلامي بذلك , فلا تنسى انه جل من لا يسهو . ( ان اصبت من الله وان اخطأت فمن نفسي او الشيطان )

متطلبات قبل البدأ :

  • لا يوجد

اهداف الدرس:

  • عبارة التكرار WHILE
  • مثال تطبيقي

عبارة التكرار WHILE :

بعد ان عرفنا العبارات الشريطة وكيفية تحديد مسار برنامجنا , نأتي الان الى عبارات التكرار , وكما يدل اسمها , فإننا نكرر شيء معين ونقوم بتكراره وتكراره, واستخدام هذه العباره له فوائد عديده وكبيره , تخيل ان لديك كود معين وتلاحظ انك تقوم بكتابة هذا الكود اكثر من مره , لكي تصل الى هدف معين , فلماذا لا تختصر الوقت وتجعل الكود يقوم بتكرار نفسه الى حد معين تقوم انت بتحديده , الا يتعبر ذلك اسهل واوفر من ناحية الوقت والتنفيذ ؟ وايضا الجهد الذي ستقوم بتوفيره لاكواد اخرى. ان ذلك لا يعني ان عبارة التكرار سهله او يمكن عملها في لحظات , عبارة التكرار يجب ان تفهم جيدا قبل كتابتها و التفكير في كيفية عملها والناتج الذي نريد الخروج به من عملها. هل تريد مثلالا على ذلك لتوضيح الصوره ؟ تخيل في بقالتنا الالكترونيه المشتري يقوم بشراء اكثر من منتج , ولكي حسابها يجب ان نجمع جميع المنتجات مع بعضها البعض وحساب المبلغ الكلي اليس ذلك صحيحا ؟ سوف نقوم بحسابها بالطريقة التاليه ( المنتج الاول + المنتج الثاني + المنتج الثالث + المنتج الرابع ) سوف نقوم بجمع كل منتج واضافته الى المجموع الكلي لنحصل على الناتج الكلي , اليس ذلك صحيحا ؟ سوف نتعلم كيف استخدام عبارة التكرار هذه ونأخذ عليها امثله كافيه لكي تتضح لك الصوره . طريقة كتابة عبارة WHILE الشرطيه كالتالي

لنأخذ بعض الامثله على طريقة كتابة عبارة التكرار WHILE , تخيل انك تريد طباعة الارقام من 1 الى 5 , كم سطر سيتطلب من كتابته ؟ افتح محرر الاكواد وقم بكتابة كود يطبع من الرقم واحد الى الرقم 5 وقم بعدد الاسطر التي قمت بكتابتها , لاحظ الكود التالي :

لقد قمنا بكتابة 13 سطرا لكي نطبع من العدد 1 الى العدد 5 , تخيل لو اردنا الطباعه الى العدد 100 كم سطرا سيتطلب ذلك منا ؟ الا تظن ان ذلك سوف يتعبك بدنيا وعقليا !! وهنا تأتي فائدة عبارة التكرار WHILE لكي تساعدنا على تسهيل كتابة الكود , قم بمسح الكود السابق وانساه للابد وقم بكتابة الكود التالي ولاحظ الفرق :

كم سطرا قمنا بكتابته الان ؟ من غير التعليقات فقط 7 اسطر , ومع التعليقات 8 اسطر , فرق 5 اسطر عن الكود السابق , الا يعتبر ذلك انجازا , واذا لم تقتنع حاول ان تقوم بكتابة الاعداد من 1 الى 100 من غير استخدام التكرار , ولكن مع التكرار الذي يمكنك فعله ان تقوم بتغير الشرط من اقل من او يساوي 5 الى اقل من يساوي 100 وسوف يأتيك ناتجك بنفس عدد الاسطر ال7 فقط. اذا لم تقم بفهم كود التكرار سوف اقوم بشرحه لك لكي تضح الصوره. اقرا بتركيز من هنا , اولا : قمنا بتعيين متغير توجد به القيمة 1 واسمه x وبعد ذلك نقوم بكتابة دالة التكرار وشرطها ان يكون المتغير x اقل من او يساوي 5 , ثم نقوم بطباغة المتغير الموجود لدينا , ونطبع سطر جديد للترتيب , واخيرا نقوم بزيادة المتغير بواحد ونرجع الى الاعلى لنرى هل الشرط صحيح ام لا , اذا كان صحيحا يقوم بفعل الطباعه مره اخرى واذا لم يكن صحيحا يقوم بالخروج من البرنامج. لنقم بالتفكير كمترجم PHP ونقوم بعمل الكود سطرا سطرا , لاحظ التالي , المتغير x يساوي القيمه 1 , يوجد لدي عباره تكرار وداخلها شرط وهو ان يكون المتغير x اقل من ويساوي 5 , قيمة المتغير x هي واحد والشرط ان يكون اقل من خمسه هل تحقق الشرط ؟ نعم هو صحيح , اذن ادخل العباره وقم بطباعة المتغير x , اقفز سطرا , قم بزيادة المتغير x بواحد , اصبح الان المتغير x قيمته 2 , ارجع الى الشرط مره اخرى , هل المتغير x اقل من 5 ؟ المتغير هو 2 والشرط هو اقل من ويساوي 5 اذن قم بطباعة المتغير واقفز سطرا وزد المتغير واحد , اصبح الان المتغير x يساوي العدد 3 , ………………………………….. زد المتغير واحد , اصبح الان المتغير يساوي 6 , ارجع الى الشرط , هل المتغير اقل من او يساوي 5 ؟ لا لم يتحقق الشرط اذن قم بالخروج من الكود . ويمكنك خارج حلقة التكرار ان تقوم بطباعة العباره انتهينا لكي تعرف ان التنفيذ تم .

مثال تطبيقي :

سؤال سريع , ماهو ناتج جمع الاعداد من 1 الى 100 ؟ الجواب هو الكود التالي :

حاول ان تقوم بقراءة الكود وحاول ان تفهمه جيدا وسوف توضح لك الصوره

ماذا لو اردنا ان نجمع الاعداد الزوجيه لوحدها والاعداد الفرديه لوحدها ؟؟ فكر كيف سنقوم بذلك , بسيط جدا 🙂 قم بإستخدام العباره الشرطيه IF داخل عبارة التكرار WHILE لاحظ التعديل على الكود وسوف تعرف الطريقه :

هل يوجد شيئ صعب في هذاالكود ؟ لا اعتقد ذلك , لان كل ما نقوم بفعله منطقي جدا

ملاحظه: يمكن استخدام عبارة WHILE وداخلها WHILE وداخلها WHILE وداخلها IF وكل شي تريد واترك لك الباب مفتوح لكي تقوم بإستكشاف ما اعنيه من هذه الملاحظه 🙂


اسئـــلة على الدرس :

  1. قم بعمل برنامج لحساب درجات الطلاب , حيث ضع افتراضا عشر درجات لطلاب ( $student4_grade ) ( $student3_grade ) ( $student2_grade ) ( $student1_grade ) ( $student10_grade ) …….. ( $student5_grade ) وقم بحساب معدل الطلاب عن طريق عبارة التكرار While ( مساعده : معدل الطلاب = مجموع الدرجات ÷ عددها )

  2. قم بالتعديل على برنامج السؤال الاول , حيث تقوم بحساب معدل الدرجات الزوجيه , ومعدل الدرجات الفردية

الـــدرس الــقادم :

سوف نقوم في الدرس القادم بمعرفة معلومات عامه عن الدوال الشرطية , وعبارات التكرار منها SWTICH و FOR وسوف نقوم بمعرفة بعض ملامح ونصائح في لغة PHP

 

نُشر في <a href="https://max4arab.com/category/%d8%af%d9%88%d8%b1%d8%a9-%d8%aa%d8%b9%d9%84%d9%8a%d9%85-php-%d9%83%d8%a7%d9%85%d9%84%d8%a9-%d8%a8%d8%a7%d9%84%d8%b9%d8%b1%d8%a8%d9%8a/" rel="category tag">دورة تعليم php كاملة بالعربي</a>، <a href="https://max4arab.com/category/%d8%b9%d8%a7%d9%85/" rel="category tag">عام</a> الموسومة <a href="https://max4arab.com/tag/%d8%a7%d9%84%d8%aa%d9%83%d8%b1%d8%a7%d8%b1/" rel="tag">التكرار</a>، <a href="https://max4arab.com/tag/%d8%a7%d9%84%d8%ae%d8%a7%d9%85%d8%b3/" rel="tag">الخامس</a>، <a href="https://max4arab.com/tag/%d8%a7%d9%84%d8%af%d8%b1%d8%b3/" rel="tag">الدرس</a>، <a href="https://max4arab.com/tag/%d8%af%d8%b1%d9%88%d8%b3-php/" rel="tag">دروس php</a>، <a href="https://max4arab.com/tag/%d8%af%d9%88%d8%b1%d8%a9-%d8%a8%d9%8a-%d8%a7%d8%aa%d8%b4-%d8%a8%d9%8a-%d8%b9%d8%b1%d8%a8%d9%8a%d8%a9/" rel="tag">دورة بي اتش بي عربية</a>، <a href="https://max4arab.com/tag/%d8%b9%d8%a8%d8%a7%d8%b1%d8%a7%d8%aa/" rel="tag">عبارات</a>
الدرس الرابع: العبارات الشر...