การเขียนโปรแกรมภาษา ASP

    

Sample

<% myarray = array("A", "B", "C", "D") %>
<% =myarray(0) %> <br>
<% =myarray(1) %> <br>
<% =myarray(2) %> <br>
<% =myarray(3) %> <br>
Out Put

A
B
C
D


Sample

<% myarray = array(111, 222, 333, 444, 555) %>
<% =myarray(0) %> <br>
<% =myarray(1) %> <br>
<% =myarray(2) %> <br>
<% =myarray(3) %> <br>
<% =myarray(4) %> <br>
Out Put

111
222
333
444
555
ตัวอย่างการใช้ Array เพื่อตรวจสอบคำหยาบ


<%
msg="ช้างน้ำ หมู่ป่า " ' สร้างตัวแปรที่รับข้อมูลเข้ามา
' ประกาศตัวแปร badtext เป็นอาร์เรย์ที่มีคำหยาบอยู่ภายใน
badtext = array("ช้างน้ำ","หมูป่า","เก้ง","กระทิง","ไก่") ' คิดว่าเป็นคำหยาบก็แล้วกันนะ
b = 0
For a = 0 to Ubound(badtext)
if InStr(msg , badtext(a)) <> 0 then %> 'เปรียบเทียบระหว่างตัวแปรกับข้อมูลในอาร์เรย์
พบคำหยาบคำว่า "<%=badtext(a)%>"<br>
%>
<%Else
b = b+1
End if
Next
if b = Ubound(badtext) + 1 then %>
คุณเป็นคนสมองไม่กลวงเย้ ๆๆๆ ไม่มีคำหยาบเลย
<%End if%>



สำหรับการนำ Array ไปใช้งานเราจะได้ศึกษาหัวข้อต่อไป
การใช้เงื่อนไขสายงานเพื่อการตัดสินใจ

1. IF-Then-Else
ใช้ตัดสินใจได้ทางเดียว
รูปแบบ
If < นิพจน์ > then
ค่าที่นิพจน์เป็น True
else
ค่าที่นิพจน์เป็น False
end if
สามารถใช้ได้ 2 รูปแบบ คือ
sample1.asp
<%
Dim a
a=10
If a=10 then
response.write("A=10 OK")
end if
%>

Out Put
A=10 OK
sample2.asp
<%
Dim a
a=12
If a < 10 then
response.write("A < 10 OK")
else
response.write("A > 10 Not OK")
end if
%>
Out Put
A > 10 Not Ok
2.IF-Then-ElseIF....Else ใช้ตัดสินใจได้หลายทาง
รูปแบบ
If < นิพจน์ > then
ค่าที่นิพจน์เป็น True 1
elseif < นิพจน์ > then
ค่าที่นิพจน์เป็น True 2
elseif < นิพจน์ > then
ค่าที่นิพจน์เป็น True 3
else
ค่าที่นิพจน์เป็น False
end if

sample3.asp
<%
Dim a
a=3
If a =1 then
response.write("A = 1 OK")
elseif a=2 then
response.write("A=2 OK")
elseif a=3 then
response.write("A=3 OK")
else
response.write("Not Ok")
end if
%>
Out Put
A =3 OK
3.Select-Case ใช้เลือกได้หลายทางเกมือนกับ IF-Then-ElseIF....Else
รูปแบบ
Select Case <นิพจน์>
case <ค่านิพจน์ 1>
           คำสั่งนิพจน์ที่เป็นจริง 1
case <ค่านิพจน์ 2>
           คำสั่งนิพจน์ที่เป็นจริง 2
case <ค่านิพจน์ 3>
           คำสั่งนิพจน์ที่เป็นจริง 3
case <ค่านิพจน์ 4>
           คำสั่งนิพจน์ที่เป็นจริง 4
case else
           คำสั่งนิพจน์ที่ไม่ตรงกันกรณีใด
End Select
Sample4.asp
<%
Dim a
a=2
Select Case a
case 1
Response.write("A=1 OK")
case 2
Response.write("A=2 OK")
case 3
Response.write("A=3 OK")
case 4
Response.write("A=4 OK")
case else
Response.write("NOT OK")
End Select
%>
Out Put
A=2 OK
ค่าของ Environment เพื่อตรวจสอบค่าของ Server

เรามาดูฟังก์ชั่นที่ใช้ตรวจสอบค่าของ Server

sample1.asp
<%
response.write(request.servervariables("AUTH_TYPE") & "<br>")
response.write(request.servervariables("QUERY_STRING") & "<br>")
response.write(request.servervariables("REMOTE_ADDR") & "<br>")
response.write(request.servervariables("REMOTE_HOST") & "<br>")
response.write(request.servervariables("REQUEST_METHOD") & "<br>")
response.write(request.servervariables("SCRIPT_NAME") & "<br>")
response.write(request.servervariables("SERVER_NAME") & "<br>")
response.write(request.servervariables("SERVER_PORT") & "<br>")
response.write(request.servervariables("SERVER_PROTOCAL") & "<br>")
response.write(request.servervariables("SERVER_SOFTWARE") & "<br>")
response.write(request.servervariables("HTTP_ACCEPT_LANGUAGE") & "<br>")
response.write(request.servervariables("HTTP_CONNECTION") & "<br>")
response.write(request.servervariables("HTTP_USER_AGENT") & "<br>")
%>

Out Put ที่ได้

127.0.0.1
127.0.0.1
GET
/Sample1.asp
localhost
80
Microsoft-IIS/4.0
th
Keep-Alive
Mozilla/4.0 (compatible; MSIE 5.5; Windows 98; Win 9x 4.90)

sample2.asp
<%=now%><br>
<%=weekday(now)%><br>
<%=weekdayname(weekday(now))%><br>
<%=Monthname(1,true)%><br>
<%=Monthname(1)%><br>
<%=sqr(16)%><br>
<%=weekdayname(weekday(now))%><br>
<%=len("abcdefghijklmnopqrstuvwxyz")%><br>
<%=hour(now)%><br>
<%=minute(now)%><br>
<%=second(now)%><br>
<%randomize%><br>
<%=rnd*100%><br>
<%=(rnd*20)+10%><br>
Out Put ที่ได้

12/1/2545 23:44:29
7
เสาร์
ม.ค.
มกราคม
4
เสาร์
26
23
44
29
96.76935
13.68972
การวนลูป และ การการใช้ ลูป For , While

 

 

<%for n=1 to 5%>
<%=n%> <br>
<%next%>



1
2
3
4
5


พิมพ์ 1 ถึง 5 เหมือนกัน แต่ดูเป็นระเบียบขึ้น

 

 

<%
for n=1 to 5
response.write( n & "<br>")
next
%>



1
2
3
4
5


พิมพ์ 1 ถึง 5 เหมือนกัน แต่เป็นอีกรูปแบบหนึ่ง โดยขนาดจะเพิ่มขึ้นตามตัวเลข

 

 

<%for n=1 to 5%>
<font size="<%=n%>"> <%=n%> </font><br>
<%next%>



1
2
3
4
5


พิมพ์ 1 ถึง 5 เหมือนกัน แต่ใช้คำสั่ง While .. Wend สำหรับทำซ้ำ


 

<%
n = 1
while n <= 5
response.write( n & "<br>")
n = n + 1
wend
%>



1
2
3
4
5



 


<%
for n = 1 to 5
for m = 1 to n
response.write( m )
next
response.write( "<br>" )
next
%>



1
12
123
1234
12345

Object ทำหน้าที่รับข้อมูลจาก Browser ที่มี Collection ,Properties และ Method ที่จะช่วยจัดการข้อมูลที่ส่งมาจาก Browser ในรูปแบบต่าง ๆ ได้
Collection ของ Request Object
ClientCertificate
รับข้อมูลเกี่ยวกับสิทธิในการเรียกใช้ โปรแกรม ASP อย่างถูกต้อง โดย Web Server จะขอข้อมูลจาก Certificate Field จาก Browser ถ้า Browser สามารถส่งไปให้ได้ ก็แสดงว่ามีสิทธิโดยชอบธรรม ที่จะรับส่งข้อมูล ซึ่งจะช่วยให้ข้อมูลที่ส่งกลับผู้ใช้ มีความ ปลอดภัยสูง นอกเหนือจากการเข้ารหัสด้วยข้อกำหนดของ SSL
รูปแบบ Request.ClientCertificate " "
Cookies
เป็น Collection ที่รับ Cookies จาก Browser เมื่อมีการตอดต่อไปยัง Web server โปรแกรม Web Server จะทำการบันทึกค่าที่ติดต่อกันเอาไว้ที่เครื่อง Browser ( ซึ่งจะทำได้ก็ต่อเมื่อ Browser อนุญาตให้ใช้ Cookies) และค่าที่เขียนนี้จะถูกนำมาใช้งานภายหลัง
รูปแบบ Request.Cookies("Cookie-name")

Form
เป็น Collection ที่รับข้อมูลจาก FORM ของ เอกสาร HTML (ซึ่งอยู่ใน tag <FORM> วึ่งผ่านการ Submit จากผู้ใช้งาน)

รูปแบบ Request.Form("data-name")

QueryString
เป็น Collection ที่แยกส่วนที่เป็น QueryString จาก HTTP Header ออกมาไว้ ซึ่ง QueryString ก็คือ ข้อความที่ปรากฏอยู่หลังเครื่องหมาย ? ใน URL โดยเรามักจะนำไปสืบค้นข้อมูลจากฐานข้อมูล แล้วจึงส่งผลลัพธ์กลับมาให้ Browser
รูปแบบ Request.QueryString("data-name")
ServerVariables
เป็น Collection ที่เก็บค่าตัวแปรของ Web Server ซึ่งตัวแปรดังกล่าวจะเก็บสภาวะของ Web Server เอาไว้
รูปแบบ Request.Servervariables " "
Property และ Method
TotalBytes
เก็บข้อมูลว่าจำนวนข้อมูลที่ Browser ส่งมาให้ ว่ามีเท่าใด (Byte)
รูปแบบ Request.TotalBytes

BinaryRead
อ่านข้อมูลแบบ Binary ซึ่งจะมีการ return ค่าออกมาเป็น Byte เมื่อรับข้อมูลเสร็จ
รูแบบ Request.BinaryRead
ตัวอย่างการใช้งาน Object Request ที่ควรรู้
sample1.asp Element จาก Form
<%
=Request.Form("data-name")
'หรือ
var-name=Request.Form("data-name")
%>

sample2.asp Element จาก Cookies

<%
=Request.Cookies("Cookies-name")
'หรือ
var-name=Request.Cookies("Cookies-name")
%>

TOP