Request Object
Request[collection|property|method|variable) Request Object เป็นออบเจ็กต์ที่คอยจัดการ การเข้าถึงข้อมูลที่ถูกร้องขอจากบราวเซอร์ไปยังเซิร์ฟเวอร์ ซึ่งมีคอลเล็กชัน, พรอพเพอร์ตี้และเมธอดที่ช่วยจัดการข้อมูลที่ส่งมาจากบราวเซอร์ในรูปต่างๆ ได้ รูปแบบการใช้งาน Request[collection|property|method|variable) เช่น <% Request(“Opendatabase”) %>
Request Collections ClientCertificate บรรจุค่าที่ใช้ในการตรวจสอบผู้ขอใช้บริการ Cookies บรรจุค่าของ cookie ที่ถูกส่งไปกับการร้องขอ Form บรรจุค่าของส่วนประกอบต่างๆ(Elements)ในฟอร์มที่ส่งข้อมูลโดยใช้วิธี POST QueryString บรรจุค่าของตัวแปรในชุดข้อความ HTTP ในส่วนที่อยู่หลังเครื่องหมายคำถาม ServerVariables บรรจุค่าของตัวแปรแวดล้อมของเซิร์ฟเวอร์
Request Collections Request object จะหาตัวแปรใน collections เรียงตามลำดับดังนี้ 1. QueryString 2. Form 3. Cookies 4. ClientCertificate 5. ServerVariables
Cookies Collection <% Response.Cookies ( “myLowFatCookie “ ) ( “Breakfast” ) = “Banana” Response.Cookies ( “myLowFatCookie “ ) ( “Lunch” ) = “Apple” Response.Cookies ( “myLowFatCookie “ ) ( “Dinner” ) = “Orange” %> If Request.Cookies ( “myLowFatCookie” ).HasKeys then Response.Write ( “ You Have Keys! “ ) else Response.Write ( “No Keys Found “ ) End if
Request.Form(parameter)[index|.Count] Form Collection เป็นคอลเล็กชันที่รับข้อมูลจาก Form ของเอกสาร HTML (ซึ่งอยู่ภายใต้ tag <FORM> ซึ่งผ่านการ Submit จากผู้ใช้งานมายังเว็บเซิร์ฟเวอร์ ซึ่งคอลเล็กชันนี่จะทำหน้าที่ แตกส่วนที่เป็นพารามิเตอร์ต่างๆ ของ Form และค่าของแต่ละพารามิเตอร์ที่ส่งมา รูปแบบการใช้งาน Request.Form(parameter)[index|.Count] เช่น Hello <%=Request.Form(txtUserFirstName)%>
ตัวอย่าง User Profile First Name : Last Name : User ID : Machine Name : คำสั่ง <%Response.Write(Request.Form)%> ‘=Display the entire form object Brian Dawson 23-DD Arizona Add ProFile
ผลลัพธ์ FormfrmHidden=lowRes & txtUserFirstName=Brian & txtUserForm=Dawsan & txtUserForm=23-DD &txtUserForm=Arizona & txtProfile=Add+Profile
Select Your Favorite Browser ตัวอย่าง Select Your Favorite Browser Internet Explorer Netscape Navigator Mosaic <% For Each item In Request.Form(“rdoBrowser”) Response.Write item & “<BR>” Next %> Vote
QueryString Collection เป็นคอลเล็กชันที่แยกส่วนที่เป็น QueryString จาก HTTP header ออกมาไว้, ซึ่ง QueryString ก็คือข้อความที่ปรากฏอยู่หลังเครื่องหมาย ? ใน URL โดยเรามักจะนำข้อมูลจากคอลเล็กชันนี้ไปสืบค้นข้อมูลจากฐานข้อมูล ใน Database Server แล้วส่งผลลัพธ์กลับมาให้บราวเซอร์ เช่น http://www.compsci.buu.ac.th/script/aa.asp?name=seree รูปแบบการใช้งาน RequestQueryString(variable)[(index)|.Count]
ServerVariables Collection เป็นคอลเล็กชันที่เก็บค่าตัวแปรของเว็บเซิร์ฟเวอร์ ซึ่งตัวแปรดังกล่าวจะเก็บสถานะของเว็บเซิร์ฟเวอร์เอาไว้ ซึ่งก็มีข้อมูลหลายอย่างที่มีประโยชน์ต่อการสร้างแอพพลิเคชัน รูปแบบ Request.ServerVariables(ServerVaible)
Server Environment Variables ชื่อตัวแปร ความหมาย AUTH_TYPE เป็นวิธีที่เว็บเซิร์ฟเวอร์ใช้ตรวจสอบ รายชื่อผู้ใช้สคริปต์ ในกรณีที่สคริปต์ ดังกล่าวมีการจำกัดสิทธิการเรียกดู CONTENT_LENGTH ขนาดของข้อมูลที่ส่งมาจาก client CONTENT_TYPE ชนิดของข้อมูลที่ส่งมาจาก client GATEWAY_INTERFACE หมายเลขรุ่น CGI/revision เช่น CGI/1.1 ฯลฯ
Server Environment Variables ชื่อตัวแปร ความหมาย LOGON_USER ชื่อของผู้ใช้ที่เป็นสมาชิกของระบบ ปฏิบัติการ Windows NT PATH_INFO ชื่อ alias หรือ virtual directory ของ เอกสารเช่น /work1/chap4-1.asp ฯลฯ PATH_TRANSLATED ตำแหน่งจริงที่ใช้เก็บเอกสาร เช่น c:\aspdoc\chap4-1.asp ฯลฯ
Server Environment Variables ชื่อตัวแปร ความหมาย QUREY_STRING ข้อมูลที่ส่งมาโดยวิธีการ get จะเป็น ค่าที่อยู่ต่อท้ายชื่อเอกสารโดยมีเครื่อง หมาย ? กั้นเช่น chap4-1.asp?var1= name ฯลฯ REMOTE_ADDR IP address ของ client ที่เรียกมา REMOTE_HOST ชื่อ sever ของ client ที่เรียกมา REQUEST_METHOD วิธีการส่งข้อมูลแบบ get หรือ post
Server Environment Variables ชื่อตัวแปร ความหมาย SCRIPT_NAME ชื่อเอกสาร ASP ที่กำลังแสดง SERVER_NAME ชื่อเครื่องของเว็บเซิร์ฟเวอร์ที่ให้บริการ SERVER_PORT หมายเลขพอร์ต (port) ที่ใช้ในการ ติดต่อโดยปกติคือพอร์ตหมายเลข 80 SERVER_PROTOCOL ชนิดของการติดต่อ เช่น HTTP/1.1ฯลฯ SERVER_SOFTWARE ชื่อโปรแกรมเว็บเซิร์ฟเวอร์เช่นPWSฯลฯ HTTP_ACCEPT_LANGUAGE ภาษาที่ใช้อยู่ เช่น th ฯลฯ
Server Environment Variables ชื่อตัวแปร ความหมาย HTTP_CONNECTION สถานภาพการติดต่อ เช่น keep/alive ฯลฯ HTTP_USER_AGENT ชนิดเบราเซอร์ที่เรียกมา เช่น Mozilla/4.0 (compatible;MSIE4.01;Windows98) ฯลฯ
ตัวอย่าง <TABLE border = “ 1 “> <% For Each name In Request.ServerVariables %> <TR> <TD> <%= name %> </TD> <TD> <%= Request.ServerVariables ( name ) %> </TD> </TR> <% Next %> </TABLE>
ตัวอย่าง <% If Instr (Request.ServerVariables ( “HTTP_USER_AGENT” ) , “MSIE” ) then ‘ = = = IE specific tags Elseif Instr (Request.ServerVariables ( “HTTP_USER_AGENT” ) , “Mozilla”) then ‘ = = = Netscape tags are placed here Endif %>
Request Properties and Methods BinaryRead(Count) ใช้ในการดึงข้อมูลที่บราวเซอร์ส่งไปยังเซิร์ฟเวอร์โดยวิธี POST โดยค่าที่ได้จะเป็นจำนวนไบต์ของข้อมูลที่ได้ทำการอ่าน รูปแบบ myBinArray = Request. BinaryRead(Count) <% Dim binread binread = Request. BinaryRead(Request.TotalBytes) %> PROPERTY TotalBytes ใช้ระบุจำนวนไบต์รวมที่จะส่ง ในการร้องขอข้อมูลจากเซิร์ฟเวอร์ Request.TotalBytes <%myByteCount = Request.TotalBytes %>