شـبـكــة عـمّـــار
إخبارية - ترفيهية
- تعليمية



جديد الصور
جديد الأخبار
جديد المقالات


جديد الصور

جديد البطاقات

جديد الصوتيات

المتواجدون الآن


تغذيات RSS

2012-08-14 05:50

الكائن Request- الجزء الثاني

في الدرس السابق تعرفنا على ثاني كائن في مجموعة كائنات ASP وهو الكائن Request، وذكرنا بأن هذا الكائن باستطاعته الوصول للمعلومات التي يرسلها المستخدم للخادم سواء بالطريقة GET أو بالطريقة POST. و تعرفنا بالتفصيل على كيفية الوصول للمعلومات المرسلة بالطريقة GET بواسطة الكائن Request.

وفي درسنا الجديد سنتعلم معاً كيفية الوصول للمعلومات المرسلة باستخدام الطريقة POST.

Request.Form

العبارة Request.Form تمكّن الخادم من الوصول للمعلومات المرسلة بواسطة الطريقة POST. و هذه الطريقة هي عكس الطريقة GET حيث أنها تقوم بإرسال المعلومات المدخلة للنموذج بشكل منفصل عن عنوان الصفحة التي ستعالج هذه المعلومات !!

وبما أن المعلومات المدخلة سترسل منفصلة عن العنوان، فإننا نستطيع أن نقول أن العبارة Request.Form تمكّن الخادم من الوصول للقيمة التي أدخلها المستخدم للنموذج من النموذج مباشرة !! وبطبيعة الحال فإن القيم المدخلة لن تكون ملحقة بعنوان الصفحة التي ستعالج هذه القيم، وهذا ما يساعدنا على التمييز بين الطريقتين GET و POST كما سنرى بعد قليل.

كل ما نحتاجه لفهم الموضوع بشكل عملي هو إنشاء نموذج نستخدم فيه الطريقة POST وليكن اسمه POSTForm.htm كالنموذج التالي:

<HTML>
<BODY>
<CENTER>
<FORM ACTION="UserComment.asp" METHOD="POST">
<B>الاسم<BR><BR> <INPUT TYPE="text" NAME="name"><BR><BR></B>
<B>البريد الإلكتروني<BR><BR><INPUT TYPE="text" NAME="Email"><BR><BR></B>
<B>أكتب ملاحظاتك على الموقع<BR><BR><TEXTAREA NAME="UserComments"></TEXTAREA><BR><BR></B>
<INPUT TYPE="submit" NAME="submit" VALUE=" موافق">
</FORM>
</CENTER>
</BODY>
</HTML>


هذا النموذج يتطلب إدخال الاسم والبريد الإلكتروني والملاحظات على الموقع،
نحتاج أيضاً لإنشاء صفحة ASP التي نستطيع بواسطتها الوصول للمعلومات المدخلة في النموذج. هذه الصفحة سنسميها UserComment.asp سنضع بها الكود التالي :

<%
Dim UserName
Dim UserEmail
Dim UserComment

UserName=Request.Form("name")
UserEmail=Request.Form("Email")
UserComment=Request.Form("UserComments")

Response.Write("<CENTER><B>المستخدم " & UserName & "، لقد أضفت الملاحظات التالية : <BR>" & UserComment &"<BR>فشكراً لك </B></CENTER>")
%>


صفحة ASP هذه تقوم بالوصول إلى المعلومات التي أدخلها المستخدم في النموذج، وحيث أن طريقة الإرسال المستخدمة في النموذج هي الطريقة POST، فالوصول لهذه المعلومات المدخلة سيكون من نفس النموذج بواسطة العبارة Request.Form الموضحة في الأسطر الثلاث المضللة:

حيث أن المتغير name و Email و UserComments هي عبارة عن أسماء مربع النص الذي حددناه في النموذج السابق.

بمجرد تعبئة النموذج السابق والضغط على الزر موافق سينتقل بي المتصفح للصفحة UserComment.asp

* لاحظ أن عنوان الصفحة UserComment.asp لا يحتوي على استعلام!
* إذا أردت أن تعرض جميع متغيرات وقيم النموذج المدخلة بواسطة المستخدم فيمكنك ذلك بواسطة الجملة التالية فقط ! :

<%=Request.Form%>

* إذا كان النموذج عبارة عن مربع خيارات فنستطيع أن نحدد قيمة أحد الخيارات التي اختارها المستخدم تبعاً لرقم الفهرس كما فعلنا مع العبارة Request.QueryString تماماً :

<%
Dim IndexNO
IndexNO=Request.Form("Country")(3)

%>




* وأيضاً يمكننا الحصول على عدد المتغيرات الموجودة في النموذج بواسطة العبارة التالية :

<%
Dim FormVar

FormVar=Request.Form.Count

%>





*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*



قبل أن ننهي هذا الدرس البسيط، سأذكر إحدى مكونات الكائن Request وهو ServerVariables !

ServerVariables:

ستستفيد من العبارة Request.ServerVariables في الحصول على قائمة بجميع متغيرات الخادم !!! كاسم الخادم، وعنوان IP الخادم، و نوع برنامج الخادم الذي يستخدمه بالإضافة إلى رقم IP العميل ونوع المتصفح لديه أيضاً !!

تستطيع القيام بذلك كالتالي:

<HTML>
<BODY>
<CENTER>
<B> هذه قائمة بجميع متغيرات الخادم :<BR>
<%
For Each Var in Request.ServerVariables
Response.Write(Var & "<BR>")
Next
%>
</B>
</CENTER>
</BODY>
</HTML>

هذا الكود يعوم بعرض جميع متغيرات الخادم باستخدام تكرار For Each ....Next في الـ VBScript للوصول إلى كل بند في مصفوفة متغيرات الخادم !

وأيضاً باستخدام العبارة Request.ServerVariabls للحصول على هذه القائمة !

احفظ الصفحة بالاسم serverVariable.asp وافتحها في المتصفح لديك لتعطيك نتيجة مشابهه لهذه :





هذه قائمة بالمتغيرات، فماذا لو أردت قيمة أحد هذه المتغيرات؟!!!

سنأخذ أحد هذه المتغيرات لنحصل على قيمته بواسطة كود ASP بسيط يؤدي الغرض .. سنختار على سبيل المثال المتغير SERVER_NAME

نستطيع الحصول على قيمة هذا المتغير كالتالي:

<%
Dim ServerVal
ServerVal=Request.ServerVariables("SERVER_NAME")
Response.Write(" <CENTER>SERVER_NAME = " & ServerVal & "</CENTER>")
%>
كل ما فعلناه هنا هو أني حددت اسم المتغير في العبارة Request.ServerVariables ووضعت هذه العبارة في المتغير ServerVal ثم قمت بطباعة هذا المتغير بواسطة العبارة Response.Write!

سنحفظ الصفحة السابقة بالاسم serverValue.asp مثلاً،

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



*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*



وبهذا أستطيع أن أقول أننا تعرفنا على أهم مكونات الكائن Request وهي QueryString، Form، و أخيراً ServerVariables!

سأضع جدولاً أحصر به مكونات الكائن Request و خواصه ودواله:

الخواص TotalBytes
الدوال BinaryRead
المجموعات ClientCertificate Cookies ServerVariables QueryString Form


*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*



تابع معنا الدروس القادمة بإذن الله، للتعرف على بقية الكائنات






تعليقات 0 | إهداء 0 | زيارات 649


خدمات المحتوى
  • مواقع النشر :
  • أضف محتوى في Digg
  • أضف محتوى في del.icio.us
  • أضف محتوى في StumbleUpon
  • أضف محتوى في Google


تقييم
1.00/10 (8 صوت)


Powered by Dimofinf cms Version 3.0.0
Copyright© Dimensions Of Information Inc.