الموضوع: لغة Html
عرض مشاركة واحدة
قديم 22/09/2004, 08:20 PM   #5
المؤسس والمشـــرف العــــام


الصورة الرمزية صقر الجنوب
صقر الجنوب ٌهé÷àٌ يà ôîًَىه

بيانات اضافيه [ + ]
 رقم العضوية : 2
 تاريخ التسجيل :  Aug 2004
 أخر زيارة : يوم أمس (06:02 AM)
 المشاركات : 64,173 [ + ]
 التقييم :  16605
 الدولهـ
Saudi Arabia
 الجنس ~
Male
 MMS ~
MMS ~
 SMS ~
سُبْحَانَكَ اللَّهُمَّ وَبِحَمْدِكَ ، أَشْهَدُ أَنْ لا إِلهَ إِلَّا أَنْتَ أَسْتَغْفِرُكَ وَأَتْوبُ إِلَيْكَ
لوني المفضل : Maroon
افتراضي



تابع ...

تعريف
المسافات البيضاء : هي المسافات والأسطر الجديدة وعلامات الجدولة.
ينص بروتوكول http أيضا على أن البيانات ترسل بطريقتين، الأولى تسمى get والثانية تسمى post، يتم إرسال البيانات بطريقة get بصورة بسيطة جدا حيث تكون عبارة عن جزء يضاف إلى إسم البرنامج الذي سيستفيد من البيانات، مثلا إذا كان لديك برنامج يأخذ الإسم والبلد ويخزتها على المزود، وكان عنوان هذا البرنامج هو http://somewhere.com/script.cgi فإن طريقة get ستقوم فقط بعمل إضافة إلى العنوان السابقة هذه الإضافة هي عبارة عن علامة استفهام يليها سطر البيانات الذي جهزته، فيصبح إسم الصفحة http://somewhere.com/script.cgi?name...=United+States ولا بد من أنك صادفت شيئا كهذا وربما أكثر تعقيدا في مربع الوجهة في متصفحك خاصة عندما تزور المواقع الضخمة وتجري عمليات البحث وغيرها، ستجد كل هذه البيانات في شريط العنوان، هذا بالنسبة لطريقة get في إرسال البيانات، أما الطريقة الثانية فهي طريقة post وفيها يتم إرسال لوحدها مع طلب الموقع ولا تظهر البيانات في شريط العنوان، تختلف الطريقتان عن بعضهما البعض في أن الطريقة get أبسط بكثير ويمكنك بسهولة استخدامها كوصلة عادية بأن تركب سطر البيانات بنفسك، ولكن post لا يمكن عملها في صورة وصلة بسهولة، حيث أنها لا تعمل إلى عن طريق النماذج ( الإثنان يعملان بشكل ممتاز بالنماذج )، لكن طريقة post أفضل من get في أنها مناسبة لإرسال كمية كبيرة من البيانات مثل نص رسالة كاملة، حيث يتعسر عرض هذه الأشياء في عنوان الموقع، كذلك البيانات والإتصالات السرية يجب أن تتم بطريقة post ( هذا لا يعني أنها آمنة للشراء عبر الويب وإنما تحتاج إلى تقنيات أخرى ).
مهمة النماذج
بعد أن عرفت كيف يتم إرسال البيانات، يجب أن تعرف مهمة النماذج في كل هذا، تعطيك النماذج واجهة سهلة لإدخال البيانات مثل مربعات النص وقوائم الإختيار ومربعات نعم/لا والأزرار، وغيرها من الأدوات، كل ما عليك فعله هو تحديد مكان البرنامج (http://somewhere.com/script.cgi) في مثالنا السابق، والطريقة التي تريد اتباعها (get أو post)، والبيانات التي تريد إرسالها، وتحدد بعض الألوان والأحجام وتصمم الحقول وتضع زر الإرسال (submit) وانتهى الأمر، كل ما على زائر الصفحة الآن هو أن يملأ بعض الحقول ويختار بعض الخيارات، ويضغط زر الإرسال فيقوم المتصفح بجمع البيانات وتحويلها وتجهيزها ثم إرسالها إلى المكان الذي حددته وحسب الطريقة التي حددتها، النماذج بالفعل هي أفضل طريقة تفاعلية في لغة HTML.
يتم إدراج النموذج بالوسم form ويتم إدراج المعلومات في صورة وسوم input مفردة، يحتوي الوسم form على مجموعة من الخواص أهمها action وفيه تحدد عنوان البرنامج الذي سيستفيد من البيانات، والخاصية الثانية هي method وفيها تحدد طريقة نقل البيانات إما post أو get، أما الوسوم input فأهم خاصية فيها هي type وتحدد فيها نوع الكائن الذي سيأخذ المعلومة من المستخدم، ويأخذ أحد القيم التالية :
· Text : وهو أشهر طرق إرسال المعلومات ويظهر في النموذج في صورة مربع نص يمكن للمستخدم إدخال أي شيء فيه.
· Button : لعمل زر، ويستفاد من الزر في عمل أي شيء.
· Checkbox : لعمل مربع اختيار، إذا تم اختياره فإنه يرسل القيمة on وإذا لم يتم اختياره فإنه لا يرسل أي معلومة.
· File : لإرسال الملفات.
· Hidden : يرسل المعلومة التي تريدها بالقيمة التي تريدها، ولا يظهر أي شيء في صفحة HTML، تستطيع عن طريقه دمج معلومة ما داخل ملف HTML بحيث لا يعلم عنها المستخدم ولا يحتاج إلى تغييرها.
· Image : تستخدم في الكثير من الأمور مثل الزر.
· Password : يستخدم لإرسال كلمة المرور، وهو يرسل كلمة المرور بصورة واضحة دون أية تشفير وإنما يختلف عن مربع النص العادي في أن الحروف تظهر في صورة نجوم ( * ).
· Radio : يستخدم لعمل الدوائر لكي يختار المستخدم قيمة ما من عدة خيارات.
· Reset : يستخدم لمحو محتويات النموذج وإعادته إلى الحالة الأصلية.
· Submit : يظهر في صورة زر يستخدم لإرسال المعلومات الموجودة في النموذج.
يمكنك أيضا إرسال المعلومات مع النموذج بواسطة وسمين آخرين يوضعان أيضا بين وسمي form وهذا الوسمان هما select لعمل قائمة اختيار والوسم textarea لعمل مربع نص متعدد الأسطر، وبين وسمي select نضع عدة وسوم option كل واحد منها يعبر عن بند في القائمة ويكون لكل بند قيمة معينة وترسل قيمة البند الذي تم اختياره.
ملاحظة
لقد قمت بعمل برنامج صغير موجود على المزود يقوم بأخذ المعلومات التي ترسلها بأي من الطريقتين ويعيد لك النتائج في صورة جدول وسنستخدمه لتوجيه جميع الطلبات إليه لمعرفة كيفية عمل النماذج.
إسم البرنامج echo.pl وهو موجود في الدليل الذي به هذا الملف لذا سنقوم باستخدام المسارات النسبية ونحدد الخاصية action في تجاربنا على القيمة echo.pl دائما.
سنقوم في البداية بعمل أمثلة عامة وبعد ذلك سنركز على كل كائن من كائنات النموذج.
أنظر إلى المثال التالي :
<form action="echo.pl">
First Name : <input type="text" name="first_name"><br>
Secound Name : <input type="text" name="secound_name"><br>
<input type="radio" name="exact"> Exact Match
<input type="radio" name="all"> All Words<br>
<input type="hidden" name="todo" value="search">
<input type="submit" value="Search">
</form>


يبو واضحا في المثال السابق كيف يتم نقل المعلومات عبر الويب باستخدام طريقة get، وإذا أعدت التجربة السابقة باستخدام الطريقة post فسوف تحصل على نتائج مطابقة لأن البرنامج الذي أعددته (echo.pl) مجهز للتعامل مع الطريقتين.
مربع النص
نقوم بوضع مربع النص كما ذكرنا سابقا، باستخدام الوسم input مع تغيير الخاصية type له إلى القيمة text، ويمكننا وضع أي محتويات ابتدائية نريدها فيه عن طريق الخاصية value له، ويمكن أيضا التحكم بحجمه عن طريق الخاصية size، لتحديد طول المربع الذي نريده.
<form action="echo.pl" method="get">
Username <input type="text" size="20" name="username"><br>
Email <input type="text" size="40" name="email"><br>
URL <input type="text" size="40" name="url" value="http://"><br>
<input type="submit">
</form>

مربع الإختيار
وهو يوضع بالوسم input أيضا بتحديد الخاصية type لها عند القيمة checkbox، ويمكن بالمعلومات التي سيتم إرسالها عن طريق الإسم بالخاصية name والقيمة بالخاصية value فيمكننا مثلا أن نجعل النموذج يرسل المعلومة do=subscribe إذا قام المستخم باختيار أحد مربعات الخيار، وذلك بضبط الخاصية name له عند القيمة do والخاصية value له عن القيمة subscribe، وعند عدم اختيار مربع الخيار فلن يتم إرسال أي شيء يتعلق به.
أي أنه مثل النوع hidden إلا المستخدم هنا يحدد فقط إذا كانت المعلومة سترسل أو لا.
<form action="echo.pl" method="get">
<input type="checkbox" name="do" value="subscribe"> Subscribe.<br>
<input type="submit">
</form>

الإختيار من متعدد
يمكنك عمل دوائر الإختيار من متعدد بواسطة وسوم input بحيث تضبط خاصيتها type عند القيمة radio، ولعمل مجموعة من الوسوم التي يجب على المستخدم اختيار أحدها قم بعمل وسم input لكل واحد منها واجعل قيمة الخاصية name متساوية فيها جميعا مع تغيير قيمة الخاصية value في كل منها، فيكون عندنا نيابة عن جميع هذه الأزرار معلومة واحدة اسمها يحدد بالقيمة name وقيمتها حسب قيمة الخاصية value للزر الذي تم اختياره.
<form action="echo.pl" action="get">
Age : <br>
<input type="radio" name="age" value="17"> 10 - 17<br>
<input type="radio" name="age" value="50"> 18 - 50<br>
<input type="radio" name="age" value="100"> 51 - 100<br>
Gender : <br>
<input type="radio" name="gender" value="male"> Male
<input type="radio" name="gender" value="female"> Female<br>
<input type="submit">
</form>



يتبع ..



 
 توقيع : صقر الجنوب

مواضيع : صقر الجنوب



رد مع اقتباس