شی Request برای دریافت اطلاعات از بازدید کنند ه صفحه وب بکار می رود

و اما دستور QueryString  مربوط به شی Request  در بردارنده مجموعه اطلاعاتی از صفحه وب است که دارند به صفحه مقصد منتقل می شوند

این اطلاعات را می توان به همراه لینک بعد از علامت سوال منتقل کرد

یا می تواند اطلاعات ای باشد که در فرم وارد شده و بعد از فشردن دکمه submit منتقل خواهند شد

 

 مثالهایی برای مجموعه QueryString
ارسال اطلاعات دریافتی کوئری وقتی کاربر روی یک پیوند کلیک کند

 مثال :

در این مثال می بینیم چطور می توان اطلاعاتی را در کنار مشخص کردن مقصد پیوند به صفحه مقصد ارسال کرد

 

<!DOCTYPE html>
<html>
<body>

<a href="demo_simplequerystring.asp?color=green">Example</a>

<%
Response.Write(Request.QueryString)
%>


</body>
</html>

 مشاهده و اجرای برنامه کامل
 
مجموعه QueryString  در ساده ترین حالت کاربرد ان

برای بازیابی اطلاعاتی که کاربر در فرم وارد کرده از  مجموعه QueryString  استفاده می کنیم

 ( نکته : در صورت استفاده از متد get در ارسال اطلاعات فرم به صفحه مقصد ، ان اطلاعات در نوار ادرس مرورگر برای همه قابل نمایش می باشد )
 

 مثال :

 در این مثال ابتدا یک فرم با دو فیلد متنی برای دریافت اطلاعات نام و نام خانوادگی کاربر و یک دکمه submit برای ارسال اطلاعات وارد شده به صفحه مقصد در نظر گرفته شده است

حال دستور Request.QueryString   به اطلاعاتی که دارند منتقل می شوند اشاره می کند که در این مثال هما ن اطلاعات فرم است

 

 

<!DOCTYPE html>
<html>
<body>

<form action="demo_simplereqquery.asp" method="get">
First name: <input type="text" name="fname"><br>
Last name: <input type="text" name="lname"><br>
<input type="submit" value="Submit">
</form>

<%
Response.Write(Request.QueryString)
%>


</body>
</html>
 

 مشاهده و اجرای برنامه کامل

 به خروجی این برنامه دقت کنید

انچه در مجموعه QueryString  است زیاد قابل استفاده نیست ( به مثال بعد توجه کنید )

روش استفاده از اطلاعات دریافت شده از فرم
 مثال :

 

<!DOCTYPE html>
<html>
<body>
<form action="demo_reqquery.asp" method="get">
Your name: <input type="text" name="fname" size="20" />
<input type="submit" value="Submit" />
</form>
<%
dim fname
fname=Request.QueryString("fname")
If fname<>"" Then
      Response.Write("Hello " & fname & "!<br>")
      Response.Write("How are you today?")
End If
%>

</body>
</html>

 در قسمت اول یک فیلد متنی با نام fname و برچسب معرفی ان فیلد به کاربر وجود دارد

پس از فشردن دکمه submit خود صفحه وب می فهمد که باید اطلاعات وارد شده در فیلدهای فرم را به مقصد ارسال کند

الان درون مجموعه QueryString  اطلاعات دریافتی فرم قرار می گیرد

 

حالا ما می خواهیم اطلاعات فیلد fname

خیلی تر تمیز بدون کاراکترهای اضافی نشان دهیم

لذا باید در دستور QueryString   مشخص کنیم مقدار کدام فیلد فرم را می خواهیم

Request.QueryString("fname")

 مشاهده و اجرای برنامه کامل
 
بدست اوردن اطلاعات بیشتری از فرم ارسال شده

 اگر چندین فیلد فرم دارای نام مشابه باشند انگاه در مجموعه اطلاعاتی QueryString  چه چیزی قرار خواهد گرفت؟

می توان از کلمه کلیدیCount  برای شمردن ویژگی name فیلدها استفاده کرد

 
 مثال :

 

<!DOCTYPE html>
<html>
<body>

<%
If Request.QueryString<>"" Then
      If Request.QueryString("name")<>", " Then
           name1=Request.QueryString("name")(1)
           name2=Request.QueryString("name")(2)
      end if
end if
%>


<form action="demo_reqquery2.asp" method="get">
First name:
<input type="text" name="name" value="<%=name1%>" />
<br>
Last name:
<input type="text" name="name" value="<%=name2%>" />
<br>
<input type="submit" value="Submit" />
</form>
<hr>
<%
If Request.QueryString<>"" Then
      Response.Write("<p>")
      Response.Write("The information received from the form was:")
      Response.Write("</p><p>")
      Response.Write("name=" & Request.QueryString("name"))
      Response.Write("</p><p>")
      Response.Write("The name property's count is: ")
      Response.Write(Request.QueryString("name").Count)
      Response.Write("</p><p>")
      Response.Write("First name=" & name1)
      Response.Write("</p><p>")
      Response.Write("Last name=" & name2)
      Response.Write("</p>")
end if
%>

</body>
</html>

 
 مشاهده و اجرای برنامه کامل
 
 مثالهایی برای مجموعه Form
 
ساده ترین روش استفاد از مجموعه Form

 چگونه مجموعه Form اطلاعات را از یک فرم می گیرد ؟

( در صورت استفاده از متد post برای فرم ، اطلاعات ارسالی فرم در نوار ادرس مرورگر نشان داده نمی شوند )

 مثال :

در این مثال ، یک فرم با دو فیلد متنی که اولی  به نام  fname با مقدار اولیه Donald

و دومی با نام lname با مقدار اولیه Duck

و یک دکمه برای ارسال اطلاعات دریافتی قرار دارند

در مجموعه  Request.Form تمام اطلاعات  در فرم به همراه نام فیلدها قرار می گیرند بین هر فیلد با مقداری و فیلو و مقدار بعدی یک علامت & است

 

<!DOCTYPE html>
<html>
<body>

<form action="demo_simpleform1.asp" method="post">
First name:
<input type="text" name="fname" value="Donald" />
<br>
Last name:
<input type="text" name="lname" value="Duck" />
<br>
<input type="submit" value="Submit" />
</form>

<%
Response.Write(Request.Form)
%>


</body>
</html>

 مشاهده و اجرای برنامه کامل
 
چگونه می توان از اطلاعات فرم استفاده کرد ؟
 چگونه می توان از اطلاعات بازیابی شده از فرم استفاده کرد ؟
 مثال :

 

<!DOCTYPE html>
<html>
<body>
<form action="demo_simpleform.asp" method="post">
Your name: <input type="text" name="fname" size="20" />
<input type="submit" value="Submit" />
</form>
<%
dim fname
fname=Request.Form("fname")
If fname<>"" Then
      Response.Write("Hello " & fname & "!<br>")
      Response.Write("How are you today?")
End If
%>

</body>
</html>

 دستور

Request.Form("fname")

فقط مقدار فیلد با نام fname را در اختیار برنامه قرار می دهد

 مشاهده و اجرای برنامه کامل
 
اطلاعات بیشتر از فرم
  اگر چندین فیلد فرم دارای نام مشابه باشند انگاه در مجموعه اطلاعاتی Form  چه چیزی قرار خواهد گرفت؟

 مثال :

 

 

<!DOCTYPE html>
<html>
<body>

<form action="demo_form2.asp" method="post">
First name:
<input type="text" name="name" value="Donald" />
<br>
Last name:
<input type="text" name="name" value="Duck" />
<br>
<input type="submit" value="Submit" />
</form>
<hr>

<p>The information received from the form above was:</p>
<%
If Request.Form("name")<>"" Then
      Response.Write("<p>")
      Response.Write("name=" & Request.Form("name"))
      Response.Write("</p><p>")
      Response.Write("The name property's count is: ")
      Response.Write(Request.Form("name").Count)
      Response.Write("</p><p>")
      Response.Write("First name=" & Request.Form("name")(1))
      Response.Write("</p><p>")
      Response.Write("Last name=" & Request.Form("name")(2))
      Response.Write("</p>")
End if
%>


</body>
</html>

 

 مشاهده و اجرای برنامه کامل
 
فرم با دکمه های رادیویی
برقراری  ارتباط با کاربر از طریق دکمه های رادیویی
 مثال :

 

<!DOCTYPE html>
<html>
<%
dim cars
cars=Request.Form("cars")
%>

<body>
<form action="demo_radiob.asp" method="post">
<p>Please select your favorite car:</p>

<input type="radio" name="cars"
<%if cars="Volvo" then Response.Write("checked")%>
value="Volvo">Volvo</input>
<br>
<input type="radio" name="cars"
<%if cars="Saab" then Response.Write("checked")%>
value="Saab">Saab</input>
<br>
<input type="radio" name="cars"
<%if cars="BMW" then Response.Write("checked")%>
value="BMW">BMW</input>
<br><br>
<input type="submit" value="Submit" />
</form>
<%
if cars<>"" then
   Response.Write("<p>Your favorite car is: " & cars & "</p>")
end if
%>

</body>
</html>

 مشاهده و اجرای برنامه کامل
 
فرم با فیلدهای کادر انتخاب
 مثال :

 

<!DOCTYPE html>
<html>
<body>
<%
fruits=Request.Form("fruits")
%>


<form action="demo_checkboxes.asp" method="post">
<p>Which of these fruits do you prefer:</p>
<input type="checkbox" name="fruits" value="Apples"
<%if instr(fruits,"Apple") then Response.Write("checked")%>>
Apple
<br>
<input type="checkbox" name="fruits" value="Oranges"
<%if instr(fruits,"Oranges") then Response.Write("checked")%>>
Orange
<br>
<input type="checkbox" name="fruits" value="Bananas"
<%if instr(fruits,"Banana") then Response.Write("checked")%>>
Banana
<br>
<input type="submit" value="Submit">
</form>
<%
if fruits<>"" then%>

   <p>You like: <%Response.Write(fruits)%></p>
<%end if
%>


</body>
</html>

 مشاهده و اجرای برنامه کامل
 
 
مثالهای دیگر
دریافت متغیرهای سرور
 روش بدست اوردن نوع مرورگر بازدید کننده صفحه وبمان ، ادرس ip او و اطلاعات دیگر
 مثال :

 

<!DOCTYPE html>
<html>
<body>
<p>
<b>You are browsing this site with:</b>
<%Response.Write(Request.ServerVariables("http_user_agent"))%>
</p>
<p>
<b>Your IP address is:</b>
<%Response.Write(Request.ServerVariables("remote_addr"))%>
</p>
<p>
<b>The DNS lookup of the IP address is:</b>
<%Response.Write(Request.ServerVariables("remote_host"))%>
</p>
<p>
<b>The method used to call the page:</b>
<%Response.Write(Request.ServerVariables("request_method"))%>
</p>
<p>
<b>The server's domain name:</b>
<%Response.Write(Request.ServerVariables("server_name"))%>
</p>
<p>
<b>The server's port:</b>
<%Response.Write(Request.ServerVariables("server_port"))%>
</p>
<p>
<b>The server's software:</b>
<%Response.Write(Request.ServerVariables("server_software"))%>
</p>

</body>
</html>











 مشاهده و اجرای برنامه کامل
 
ایجاد کردن کوکی Welcome
 مثال

 

<%
dim numvisits
response.cookies("NumVisits").Expires=date+365
numvisits=request.cookies("NumVisits")

if numvisits="" then
   response.cookies("NumVisits")=1
   response.write("Welcome! This is the first time you are visiting this Web page.")
else
   response.cookies("NumVisits")=numvisits+1
   response.write("You have visited this ")
   response.write("Web page " & numvisits)
   if numvisits=1 then
     response.write " time before!"
   else
     response.write " times before!"
   end if
end if
%>

<!DOCTYPE html>
<html>
<body>
</body>
</html>

 مشاهده و اجرای برنامه کامل
 
بدست اوردن تعداد بایتهای نهایی که کاربر به شی request فرستاده است
 مثال

 

<!DOCTYPE html>
<html>
<body>

<form action="demo_totalbytes.asp" method="post">
Please type something:
<input type="text" name="txt"><br><br>
<input type="submit" value="Submit">
</form>

<%
If Request.Form("txt")<>"" Then
   Response.Write("You submitted: ")
   Response.Write(Request.Form)
   Response.Write("<br><br>")
   Response.Write("Total bytes: ")
   Response.Write(Request.Totalbytes)
End If
%>


</body>
</html>

 مشاهده و اجرای برنامه کامل
 
اطلاعات تکمیلی شی Request

 زمانیکه مرورگر کاربر از سرور ، صفحه وبی را تقاضا می کند ، این کار request نامیده می شود

شی Request  برای دریافت اطلاعات از بازدید کننده صفحه وب بکار می رود

 

در قسمت پائین ویژگیها ، مجموعه ها و متدهای شی  Request   توضیح داده شده است
 
 

مجموعه ها

مجموعهتوضیحات
ClientCertificate

تمام مقادیر فیلدهای ذخیره شده در گواهینامه کاربر را در بر می گیرد

Cookies

تمام کوکیهایی را که در یک درخواست http ارسال شده دربر می گیرد

Form

تمام مقادیر وارد شده در فرمی که از متد post استفاده می کند را در بر دارد

QueryString

تمام مقادیر متغیرها در یک رشته کوئری http را در بر می گیرد. منظور متغیرها و مقادیرشان است که جلوی ادرس مقصد پیوند در برنامه نوشته شده است

ServerVariables

تمام مقادیر متغیرهای سرور را در بر می گیرد

 

 

ویژگیها

ویژگیتوضیحات
TotalBytes

تعداد بیت هایی که توسط دستور request از طرف رایانه کاربر برای قسمت body ارسال می شود را در خود دارد

 

 

متدها

متدتوضیحات
BinaryRead

بازیابی می کند داده ارسال شده به سرور از طرف کاربر را بعنوان بخشی از یک تقاضا ی post و ذخیره می کند ان را در ارایه امن