عندما تقوم بإنشاء بريد الكتروني جديد لدى الياهو , او الهوتميل , يتوجب عليك ان تقوم بتعبئة نموذج التسجيل , الذي يتضمن الاسم وكلمة المرور والبريد المراد انشائه , كل هذا نقوم عمله عن طريق النماذج ( FORMS ) ,اذا ما نقصد به ان النماذج هو ان تقوم بتعبئة نموذج بمعلومات مطلوبه , ثم ارسالها . واعتقد انك لاحظت ان بعض النماذج تحتوى على انواع كثيره , مثل مربعات الكتابه , مربعات النصوص الكبيره , مربعات او ازرار الاختيار , كل هذا سوف نقوم بتعمله معا وسوف يكون بوابة البدايه بأذن اللة لعمل موقع بلغة PHP.
كيفية كتابة النماذج :
بما انك مبتدئ في لغة PHP , فما انصح به هو , ان تقوم دائما بإنشاء النماذج عن طريق برنامج Microsoft FrontPage , ثم بعد ذلك عمل نسخ لكود HTML ولصقه في محرر اكواد لغة PHP , واما ان تجعل كود HTML او ان تجعله مدمج مع لغة PHP , لنأخذ بعض الامثله على ذلك , انظر الى التالي:
هذا شرح مبسط للاكواد المستخدمة وعملها:
1 - نوع ارسال البيانات , هل بطريقة POST او الطريقة GET وسوف نقوم بشرح ذلك كله بعد قليل
2 - الى اين يؤدي هذا النموذج , وفي مثالنا هذا , يؤدي الى صفحه PHP تسمى code.php
3 - ماهو نوع المدخل , هل هو مربع كتابه ( text ) او مربع نصوص ( text area ) او مربع اختيار ( check box ) او زر اختيار ( radio ) او حقل اختيار ( option )
4 - ماهو اسم النموذج , بمعنى اخر ماهو اسم المتغير للنموذج , لاحظ ان اسم المتغير هنا هو name وفي السطر الذي تحته اسم المتغير هو email وسوف تقوم بفهم هذا لاحقا
5 - ماهو محتوى النموذج , او لنقل قيمة المتغير , فلو وضعنا في مدخل name العباره value = "elking10" بعد name="name" سوف تجد انه يكتب افتراضيا داخل المربع الكتابه elking10
الذي رأينها في الاعلى هو عبارة عن كود HTML خارج كود PHP , وعند استخدامنا هذا الكود بداخل لغة PHP فسوف يكون بالشكل التالي :
انواع ارسال البيانات :
لقد ذكرت سابقا ان نوع ارسال البيانات بطريقين ( الاغلب استخداما ) وفي POST و GET , طبعا يوجد طرق ارسال اخرى ولكن تستخدم نادرا جدا , وعند مشاهدة الكثير من الاكواد ما سوف تقوم بمشاهدته اما الطريقه POST او الطريقه GET
النوع GET :
النوع GET يمكنك تمييزه عندما تقوم بإرسال شي عن طريق نموذج , فإنك سوف ترى في العنوان الصفحه التي ستذهب اليها ثم العلامه ( ؟ ) متبوعه بإسم المتغير ثم العلامه ( = ) ثم بعد ذلك القيمه الموجوده بالمتغير , واذا قمت بالتفكير قليلا , فلن تعتقد ان هذه الطريقه تصلح لارسال اسم مستخدم وكلمة مرور او رقم بطاقة دفع الكترونيه عبر المتصفح , وذلك لانه يمكن لاي شخص يجلس بجانب المستخدم ان يرى محتوى الارسال
مثال على العنوان الذي سيظهر بالمتصفح هو التالي :
http://www.xxxx.com/modules.php?name=News&new_topic=5
لاحظ هنا انك تريد الذهاب الى الصفحه modules.php , وتقوم بأعطاء الصفحه المتغير name ويحتوي News ثم بعد ذلك الرمز ( & ) ويعني انه يوجد متغير اخر ايضا , ثم المتغير new_topic ويحتوي على الرقم 5
النوع POST :
النوع POST يمكنك معرفه انه يستخدم في هذه الصفحه , عندما تقوم بإرسال معلومات الى صفحه اخرى , ولا تجد في العنوان الرمز ( ؟ ) وبعده بعض المتغيرات , وانما فقط اسم الصفحه , والخفايا تحصل بين الصفحات ولا يمكنك مشاهدتها ( ولا يعني ذلك انه دائما عندما لا يوجد الرمز ( ؟ ) نقوم بإستخدام الطريقة POST , بل في معظم الاحيان
مثال على العنوان الذي سيظهر بالمتصفح هو التالي :
http://www.xxx.com/modules.php
لو تنظر جيدا في العنوان , فلن تجد ما رأينها في الطريقة GET ولا يمكنك تحديد هنا انه قمنا بإرسال بيانات الى الصفحه modules.php ام لا
الفروقات بين GET و POST :
قد تسألنى طالما ان GET تظهر البيانات وليست امنة الى حد ما , فما فائدتها ولماذا نستعملها؟
الطريقه GET تستخدم في معظم الاوقات للاستعلام عن بيانات , والطريقة POST تستخدم لادخال بيانات او تحديث البيانات وايضا الطريقه GET اسرع من الطريقه POST , لذلك نراها تستخدم في محركات البحث مثل google و yahoo و msn وغيرها
وهناك بعض من الفروقات بين الطريقتين , اولها ان الطريقه POST يوجد بها حمايه اكثر من الطريقه GET , كما رأيت سابقا لا نقوم بطباعة المتغيرات في المتصفح. ثانيا الطريقه POST تقوم بإرسال بيانات بكمية اكبر من الطريقة GET . مثلا , لو تقوم بإرسال رقم بطاقه ائتمانيه او كلمة مرور المستخدم فلا اعتقد انك سوف تستخدم الطريقة GET , والسبب طبعا تم ذكرة سابقا :rolleyes: .
طبعا ليست هذه كل الفروق بين العبارتين ولكن تعتبر هذه الفروق الاساسيه والمهمة بين GET و POST
تحياتى لكم وأرجو ان يكون الدرس مفيد ولو قليلا
للأمانة منقول من منتدى بى اتش بى
كيفية كتابة النماذج :
بما انك مبتدئ في لغة PHP , فما انصح به هو , ان تقوم دائما بإنشاء النماذج عن طريق برنامج Microsoft FrontPage , ثم بعد ذلك عمل نسخ لكود HTML ولصقه في محرر اكواد لغة PHP , واما ان تجعل كود HTML او ان تجعله مدمج مع لغة PHP , لنأخذ بعض الامثله على ذلك , انظر الى التالي:
PHP كود :
<form method="POST" action="code.php">
<p>Name: <input type="text" name="name"></p>
<p>email: <input type="text" name="email"></p>
<p><input type="sumbit" value="send"></p>
</form>
هذا شرح مبسط للاكواد المستخدمة وعملها:
1 - نوع ارسال البيانات , هل بطريقة POST او الطريقة GET وسوف نقوم بشرح ذلك كله بعد قليل
2 - الى اين يؤدي هذا النموذج , وفي مثالنا هذا , يؤدي الى صفحه PHP تسمى code.php
3 - ماهو نوع المدخل , هل هو مربع كتابه ( text ) او مربع نصوص ( text area ) او مربع اختيار ( check box ) او زر اختيار ( radio ) او حقل اختيار ( option )
4 - ماهو اسم النموذج , بمعنى اخر ماهو اسم المتغير للنموذج , لاحظ ان اسم المتغير هنا هو name وفي السطر الذي تحته اسم المتغير هو email وسوف تقوم بفهم هذا لاحقا
5 - ماهو محتوى النموذج , او لنقل قيمة المتغير , فلو وضعنا في مدخل name العباره value = "elking10" بعد name="name" سوف تجد انه يكتب افتراضيا داخل المربع الكتابه elking10
الذي رأينها في الاعلى هو عبارة عن كود HTML خارج كود PHP , وعند استخدامنا هذا الكود بداخل لغة PHP فسوف يكون بالشكل التالي :
PHP كود :
<?
echo "<form method=\"POST\" action=\"code.php\">;
echo "<p>Name: <input type=\"text\" name=\"name\"></p>";
echo "<p>email: <input type=\"text\" name=\"email\"></p>";
echo "<p><input type=\"sumbit\" value=\"send\"></p>";
echo "<form>";
?>
انواع ارسال البيانات :
لقد ذكرت سابقا ان نوع ارسال البيانات بطريقين ( الاغلب استخداما ) وفي POST و GET , طبعا يوجد طرق ارسال اخرى ولكن تستخدم نادرا جدا , وعند مشاهدة الكثير من الاكواد ما سوف تقوم بمشاهدته اما الطريقه POST او الطريقه GET
النوع GET :
النوع GET يمكنك تمييزه عندما تقوم بإرسال شي عن طريق نموذج , فإنك سوف ترى في العنوان الصفحه التي ستذهب اليها ثم العلامه ( ؟ ) متبوعه بإسم المتغير ثم العلامه ( = ) ثم بعد ذلك القيمه الموجوده بالمتغير , واذا قمت بالتفكير قليلا , فلن تعتقد ان هذه الطريقه تصلح لارسال اسم مستخدم وكلمة مرور او رقم بطاقة دفع الكترونيه عبر المتصفح , وذلك لانه يمكن لاي شخص يجلس بجانب المستخدم ان يرى محتوى الارسال
مثال على العنوان الذي سيظهر بالمتصفح هو التالي :
http://www.xxxx.com/modules.php?name=News&new_topic=5
لاحظ هنا انك تريد الذهاب الى الصفحه modules.php , وتقوم بأعطاء الصفحه المتغير name ويحتوي News ثم بعد ذلك الرمز ( & ) ويعني انه يوجد متغير اخر ايضا , ثم المتغير new_topic ويحتوي على الرقم 5
النوع POST :
النوع POST يمكنك معرفه انه يستخدم في هذه الصفحه , عندما تقوم بإرسال معلومات الى صفحه اخرى , ولا تجد في العنوان الرمز ( ؟ ) وبعده بعض المتغيرات , وانما فقط اسم الصفحه , والخفايا تحصل بين الصفحات ولا يمكنك مشاهدتها ( ولا يعني ذلك انه دائما عندما لا يوجد الرمز ( ؟ ) نقوم بإستخدام الطريقة POST , بل في معظم الاحيان
مثال على العنوان الذي سيظهر بالمتصفح هو التالي :
http://www.xxx.com/modules.php
لو تنظر جيدا في العنوان , فلن تجد ما رأينها في الطريقة GET ولا يمكنك تحديد هنا انه قمنا بإرسال بيانات الى الصفحه modules.php ام لا
الفروقات بين GET و POST :
قد تسألنى طالما ان GET تظهر البيانات وليست امنة الى حد ما , فما فائدتها ولماذا نستعملها؟
الطريقه GET تستخدم في معظم الاوقات للاستعلام عن بيانات , والطريقة POST تستخدم لادخال بيانات او تحديث البيانات وايضا الطريقه GET اسرع من الطريقه POST , لذلك نراها تستخدم في محركات البحث مثل google و yahoo و msn وغيرها
وهناك بعض من الفروقات بين الطريقتين , اولها ان الطريقه POST يوجد بها حمايه اكثر من الطريقه GET , كما رأيت سابقا لا نقوم بطباعة المتغيرات في المتصفح. ثانيا الطريقه POST تقوم بإرسال بيانات بكمية اكبر من الطريقة GET . مثلا , لو تقوم بإرسال رقم بطاقه ائتمانيه او كلمة مرور المستخدم فلا اعتقد انك سوف تستخدم الطريقة GET , والسبب طبعا تم ذكرة سابقا :rolleyes: .
طبعا ليست هذه كل الفروق بين العبارتين ولكن تعتبر هذه الفروق الاساسيه والمهمة بين GET و POST
تحياتى لكم وأرجو ان يكون الدرس مفيد ولو قليلا
للأمانة منقول من منتدى بى اتش بى