دروس الايه اس بي - ASP كائنات ASP- الكائن Response -الجزء الثاني
صفحة 1 من اصل 1
دروس الايه اس بي - ASP كائنات ASP- الكائن Response -الجزء الثاني
دروس الايه اس بي - ASP كائنات ASP- الكائن Response -الجزء الثاني
بسم الله الرحمن الرحيم
بسم الله الرحمن الرحيم
الكائن Request- الجزء الثاني
في الدرس السابق تعرفنا على ثاني كائن في مجموعة كائنات ASP وهو الكائن Request، وذكرنا بأن هذا الكائن باستطاعته الوصول للمعلومات التي يرسلها المستخدم للخادم سواء بالطريقة GET أو بالطريقة POST. و تعرفنا بالتفصيل على كيفية الوصول للمعلومات المرسلة بالطريقة GET بواسطة الكائن Request.
وفي درسنا الجديد سنتعلم معاً كيفية الوصول للمعلومات المرسلة باستخدام الطريقة POST.
Request.Form
العبارة Request.Form تمكّن الخادم من الوصول للمعلومات المرسلة بواسطة الطريقة POST. و هذه الطريقة هي عكس الطريقة GET حيث أنها تقوم بإرسال المعلومات المدخلة للنموذج بشكل منفصل عن عنوان الصفحة التي ستعالج هذه المعلومات !!
وبما أن المعلومات المدخلة سترسل منفصلة عن العنوان، فإننا نستطيع أن نقول أن العبارة Request.Form تمكّن الخادم من الوصول للقيمة التي أدخلها المستخدم للنموذج من النموذج مباشرة !! وبطبيعة الحال فإن القيم المدخلة لن تكون ملحقة بعنوان الصفحة التي ستعالج هذه القيم، وهذا ما يساعدنا على التمييز بين الطريقتين GET و POST كما سنرى بعد قليل.
كل ما نحتاجه لفهم الموضوع بشكل عملي هو إنشاء نموذج نستخدم فيه الطريقة POST وليكن اسمه POSTForm.htm كالنموذج التالي:
.................................................. .............................في الدرس السابق تعرفنا على ثاني كائن في مجموعة كائنات 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 في الـ VB****** للوصول إلى كل بند في مصفوفة متغيرات الخادم !
وأيضاً باستخدام العبارة 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- الجزء الأول
» سلسلة تعلم VBScript – الجزء الثاني - الدوال والإجراءات الفرعية
» سلسلة تعلم VBScript -الجزء الاول - الاسس
» عمل صفحة وحفظها + التنقل بين وضعيات العمل Dreamweaver MX الدرس الثاني
» دروس في الحب
» سلسلة تعلم VBScript – الجزء الثاني - الدوال والإجراءات الفرعية
» سلسلة تعلم VBScript -الجزء الاول - الاسس
» عمل صفحة وحفظها + التنقل بين وضعيات العمل Dreamweaver MX الدرس الثاني
» دروس في الحب
صفحة 1 من اصل 1
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى