الرجوع للرئيسية

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

 

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

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

  • لا يوجد

اهداف الدرس:

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

النماذج ( FORMS ) :

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

 

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

بما انك ايها الزائر الكريم مبتدئ في لغة PHP , فما انصح به هو , ان تقوم دائما بإنشاء النماذج عن طريق برنامج Microsoft FrontPage , ثم بعد ذلك عمل نسخ لكود phpL ولصقه في محرر اكواد لغة PHP , وتقوم بعدل ذلك ما قمنا بعمله في الدروس الاولى , اما ان تجعل كود phpL او ان تجعله مدمج مع لغة 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

الذي رأينها في الاعلى هو عبارة عن كود phpL خارج كود 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 وغيرها. ليست هذه كل الفروق بين العبارتين ولكن تعتبر هذه الفروق الاساسيه , وما تحتاج معرفته حاليا