تحديث آخر نسخة 1.8.37

تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
ماهى النماذج وانواع ارسال البيانات؟
#1
عندما تقوم بإنشاء بريد الكتروني جديد لدى الياهو , او الهوتميل , يتوجب عليك ان تقوم بتعبئة نموذج التسجيل , الذي يتضمن الاسم وكلمة المرور والبريد المراد انشائه , كل هذا نقوم عمله عن طريق النماذج ( FORMS ) ,اذا ما نقصد به ان النماذج هو ان تقوم بتعبئة نموذج بمعلومات مطلوبه , ثم ارسالها . واعتقد انك لاحظت ان بعض النماذج تحتوى على انواع كثيره , مثل مربعات الكتابه , مربعات النصوص الكبيره , مربعات او ازرار الاختيار , كل هذا سوف نقوم بتعمله معا وسوف يكون بوابة البدايه بأذن اللة لعمل موقع بلغة PHP.


كيفية كتابة النماذج :
بما انك مبتدئ في لغة 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


تحياتى لكم وأرجو ان يكون الدرس مفيد ولو قليلا

للأمانة منقول من منتدى بى اتش بى
الرد
شكر من طرف :


التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 3 ) ضيف كريم