Active Server Pages
Trung tâm phát trin phn mm - ĐHĐN - 19 -
d: Máy khách gi cookie ch ti nhng script trong thư mc o /app/SearApp:
<% Response.Cookie (“LastSearch”).Path=”/App//SearApp” %>
- Secure: Thuc tính ch ghi, quy định giá tr này khi mun cookie được bo
mt
b. Thuc tính
ð Buffer: biến kiu Boolean. Nếu thuc tính TRUE thì Web Server ch tr
kết qu cho client khi tt c kch bn được x hoc phương thc Flush
hay End được gi. Giá tr mc định false.
d : <% Response.Buffer = true %>
ð CacheControl: Đặt thuc tính này bng Public” cho phép proxy Server
thc hin chc năng lưu tr g tr cũ trong b nh do trang asp này phát
sinh ra. Giá tr mc định kng (private)
d: <% Response.CacheControl = “public” %>
ð ContentType: Quy định kiu d liu do Web Server tr v cho client. Giá tr
mc định text/html
pháp: Response.ContentType [= strContentType]
d: <% Response.contentType =”image/gif” %>
ð Expires: Ch định thi gian tính bng phút mt trang còn hp l.
pháp: Response.Expires [ = intMinutes]
d: <% Response.Expires=10 %>
ð IsClientConnected: Kiu boolean. Kim tra client còn kết ni vi Server
hay kng.
pháp: Response.IsClientConnected
d:
<%
If Response.IsClientConnected then
StrName= fn_getusername(session.sessionID)
End if
%>
c. Phương thc
ð BinaryWrite: Phương thc này tin li cho vic truyn nhng thông tin kiu
nh phân cho client
ð Clear: Xoá tt c d liu trong vùng đệm. Mun s dng phương thc y
phi ch định g tr Response.Buffer=true.
pháp: Response.clear
ð End: khi gi phương thc này, Server ngng x nhng kch bn và tr v
cho client nhng kết qu đã thc hin được. Mun s dng phương thc y
phi ch định g tr Response.Buffer=true.
pháp: Response.End
ð Flush: Gi tt c d liu trong vùng đệm cho client. Mun s dng phương
thc này phi ch định g tr Response.Buffer=true.
pháp: Response.Flush
Active Server Pages
Trung tâm phát trin phn mm - ĐHĐN - 20 -
ð Redirect: Chuyn hướng trình duyt ca client đến mt địa ch URL khác
pháp: Response.Redirect StrUrl
StrUrl: địa đim mi mà bn mun chuyn địa ch máy khách đến đó.
d: Response.redirect “thongbaoloi.asp”
Chuyn đến trang thongbaoloi.asp”
ð Write: Ghi thông tin cho client
d: Response.write “Chào bn”
Hin th câu Chào bn” trên trình duyt
3. Form QueryString
Để gi d liu lên Server, ta s dng Form trong trang Web. n ca các đối
tượng web như Text, button nm trong form s được ng như n biến khi phân
tích, ly d liu trên Server. Trong Form s nút lnh kiu Submit để người ng
đẩy d liu lên Server.
d 1: To Form để nhp thông tin h và tên ca người s dng:
Đon mã lnh:
<form method="get" action="login.asp">
H : <input type="text" name="fname">
<br />
Tên: <input type="text" name="lname">
<br /><br />
<input type="submit" value="Submit">
</form>
Th Form hai thuc tính Action và Method:
o Action: quy định tp tin .asp s đón nhn và x d liu đẩy lên.
o Method: quy định cách thc gi d liu: Post hoc Get. Nếu Post
thì tt c d liu trong Form s đóng gói và đẩy lên Server. Nếu Get
thì d liu được gi đi như mt phn ca URL, thường là sau du ?”.
Get phương thc mc định.
Bn th ly thông tin ca người s dng nhp vào form bng 2 cách: s
dng Request.QueryString or Request.Form.
Active Server Pages
Trung tâm phát trin phn mm - ĐHĐN - 21 -
a. Request.Form
S dng để tp hp c g tr trong Form vi phương thc Post. Thông tin gi
đến t Form vi phương thc Post không th nhìn thy và không hn chế v s
lượng thông tin gi đến.
d: Trong ví d 1, nếu phương thc là Post, người s dng nhp vào H: Lê và
tên : Anh và nhn nút lnh Submit thì URL s gi đến Server như sau:
http://localhost/giaotrinh/login.asp
Gi s tranglogin.asp cha đon mã như sau:
<body>
Chào mng bn
<%
‘ truy xut d liu nhp t form
‘ s dng Request.form
response.write(request.form("fname"))
response.write(" " & request.form("lname"))
%>
đã đến vi chúng tôi.
</body>
Trên trình duyt s xut hin:
Chào mng bn Lê Anh đã đến vi chúng tôi.
b. Request.QueryString
S dng để tp hp các g tr trong form vi phương thc Get. Thông tin gi
t form bng phương thc get thy được trên thanh địa ch (address) ca trình
duyt, kng che du được d liu và độ ln d liu b hn chế.
Nếu người s dng gõ Le” và Anh” trong ví d 1 thì URL gi đến Server như
sau:
http://localhost/giaotrinh/login.asp?fname=Le&lname=Anh&B1=Submit
Gi s file ASP "login.asp" cha đon kch bn như sau:
<body>
Chào mng bn
<%
‘ s dng Request.Querytring để truy xut d liu
response.write (request.querystring("fname"))
response.write (" " & request.querystring("lname"))
%> đ ã đến vi chúng tôi
</body>
Trên trình duyt s hin th:
Active Server Pages
Trung tâm phát trin phn mm - ĐHĐN - 22 -
c. S khác nhau gia Form Querytring
Vic kích mt siêu liên kết(hyperlink) trong mt trang Web, thông đip
email hay tài liu khác, gõ địa ch vào thanh Address ca mt trình duyt và nhn
Enter, hay kích vào c nút lnh liên kết,..... tt c đều s dng phương thc Get.
Cách duy nht gi các giá tr đến Server t nhng hành động y qua tp hp
Querytring, bng cách gn thêm vào URL.
d:
<a href=”http://www.google.com/data.asp?ten=thanh&congty=TD”>
liên kết </a>
Khi s dng phân đon <Form> trong mt trang, th đặt thuc tính cho
Form Get hoc Post. Nếu Get, trình duyt s ly c g tr trong tt c các hp
điu khin (khung nhp d liu) để xây dng thành Querytring gn vào URL ca
trang được yêu cu khi Submit trang hin ti. Khi trang này đến Server, các g tr
ca nm tp hp Request.Querytring. Ngược li, nếu s dng phương thc
Post, trình duyt s đưa tt c các g tr vào trong HTTP header để gi đến Server
và các g tr ca th truy xut qua Request.Form
m li, nên s dng phương thc FOST trong các form HTML, vì chiu
dài ca chui URL b gii hn nên nếu ng Querytring s nguy cơ tràn và b ct
bt d liu, hơn na, khi s dng Query tring s không đảm bo d liu ca bn
được bo mt.
4. S dng Cookie
Được s dng để nhn din người s dng. Cookie mt file nh nm trên
Server được nhúng vào máy tính ca người s dng. Mi ln máy tính yêu cu mt
trang trên trình duyt, cũng s gi mt Cookie. Vi ASP, bn th to ly
g tr ca Cookie.
a. To Cookie
Câu lnh Response.Cookies được s dng để to Cookie. Câu lnh này phi
được đặt trước th <HTML>
d: To mt Cookie tên ten” và gán giá tr “Anh” cho
<%
Response.Cookies("ten")="Anh"
%>
Server (ASP Application )
Đọc d liu s dng Querytring Đọc d liu s dng Form
Method = Get Method = Post
D liu được gi vi URL D liu được gi bên trong http header
Trình duyt (Browser ) Form
Active Server Pages
Trung tâm phát trin phn mm - ĐHĐN - 23 -
th gán thuc tính cho Cookie, ví d đặt thi gian hết hn ca Cookie:
<%
Response.Cookies("ten")="Anh"
Response.Cookies("ten").Expires=#May 10,2002#
%>
b. Ly giá tr Cookie
Câu lnh "Request.Cookies" được s dng để ly g tr Cookie
d: Ly g tr ca Cookie tên ten” và hin th lên trang web
<%
fname=Request.Cookies("ten")
response.write(“ten=" & fname)
%>
Kết qu trên trình duyt s hin th
ten=Anh
c. Khoá
Nếu mt Cookie cha mt tp hp các g tr t gi Cookie khoá.
d: To mt Cookie tên user”. Cookie user” khoá cha tt c c
thông tin v người s dng.
<%
Response.Cookies("user")("ten")="Anh"
Response.Cookies("user")("ho")="Le"
Response.Cookies("user")("thanhpho")="DaNang"
Response.Cookies("user")("tuoi")="25"
%>
d. Ví d
Đon mã lnh sau đây s dng Cookie để biết s ln bn đến 1 trang web.
<%
‘ Khai báo biến Cookie
dim numvisits
‘ To Cookie và đặt thi gian hết hn cho Cookie
response.cookies("NumVisits").Expires=date+365
‘ Ly giá tr Cookie
numvisits=request.cookies("NumVisits")
%>
<html>
<body>
<%
if numvisits="" then
response.cookies("NumVisits")=1
%>
Chào bn! Đây là ln đầu tiên bn ghé thăm chúng tôi.
<% else
response.cookies("NumVisits")=numvisits+1
response.write("Bn đã đến thăm ")
response.write("trang web này " & numvisits)
response.write " ln !"