Tải bản đầy đủ (.pdf) (6 trang)

Lập Trình Web dùng ASP (ACTIVE SERVER PAGES ) phần 4 docx

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (110.16 KB, 6 trang )

Active Server Pages
Trung tâm phát triển phần mềm - ĐHĐN - 19 -
Ví dụ: Máy khách gởi cookie chỉ tới những script trong thư mục ảo /app/SearApp:
<% Response.Cookie (“LastSearch”).Path=”/App//SearApp” %>
- Secure: Thuộc tính chỉ ghi, quy định giá trị này khi muốn cookie được bảo
mật
b. Thuộc tính
ð Buffer: là biến kiểu Boolean. Nếu thuộc tính là TRUE thì Web Server chỉ trả
kết quả cho client khi tất cả kịch bản được xử lý hoặc phương thức Flush
hay End được gọi. Giá trị mặc định là false.
Ví dụ : <% Response.Buffer = true %>
ð CacheControl: Đặt thuộc tính này bằng “Public” cho phép proxy Server
thực hiện chức năng lưu trữ giá trị cũ trong bộ nhớ do trang asp này phát
sinh ra. Giá trị mặc định là không (private)
Ví dụ: <% Response.CacheControl = “public” %>
ð ContentType: Quy định kiểu dữ liệu do Web Server trả về cho client. Giá trị
mặc định là text/html
Cú pháp: Response.ContentType [= strContentType]
Ví dụ: <% Response.contentType =”image/gif” %>
ð Expires: Chỉ định thời gian tính bằng phút một trang còn hợp lệ.
Cú pháp: Response.Expires [ = intMinutes]
Ví dụ: <% Response.Expires=10 %>
ð IsClientConnected: Kiểu boolean. Kiểm tra client còn kết nối với Server
hay không.
Cú pháp: Response.IsClientConnected
Ví dụ:
<%
If Response.IsClientConnected then
StrName= fn_getusername(session.sessionID)
End if
%>


c. Phương thức
ð BinaryWrite: Phương thức này tiện lợi cho việc truyền những thông tin kiểu
nhị phân cho client
ð Clear: Xoá tất cả dữ liệu trong vùng đệm. Muốn sử dụng phương thức này
phải chỉ định giá trị Response.Buffer=true.
Cú pháp: Response.clear
ð End: khi gọi phương thức này, Server ngừng xử lý những kịch bản và trả về
cho client nhứng kết quả đã thực hiện được. Muốn sử dụng phương thức này
phải chỉ định giá trị Response.Buffer=true.
Cú pháp: Response.End
ð Flush: Gởi tất cả dữ liệu trong vùng đệm cho client. Muốn sử dụng phương
thức này phải chỉ định giá trị Response.Buffer=true.
Cú pháp: Response.Flush
Active Server Pages
Trung tâm phát triển phần mềm - ĐHĐN - 20 -
ð Redirect: Chuyển hướng trình duyệt của client đến một địa chỉ URL khác
Cú pháp: Response.Redirect StrUrl
StrUrl: địa điểm mới mà bạn muốn chuyển địa chỉ máy khách đến đó.
Ví dụ: Response.redirect “thongbaoloi.asp”
Chuyển đến trang “thongbaoloi.asp”
ð Write: Ghi thông tin cho client
Ví dụ: Response.write “Chào bạn”
Hiển thị câu “Chào bạn” trên trình duyệt
3. Form và QueryString
Để gởi dữ liệu lên Server, ta sử dụng Form trong trang Web. Tên của các đối
tượng web như Text, button nằm trong form sẽ được dùng như là tên biến khi phân
tích, lấy dữ liệu trên Server. Trong Form sẽ có nút lệnh kiểu Submit để người dùng
đẩy dữ liệu lên Server.
Ví dụ 1: Tạo Form để nhập thông tin họ và tên của người sử dụng:


Đoạn mã lệnh:
<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 có hai thuộc tính là Action và Method:
o Action: quy định tập tin .asp sẽ đón nhận và xử lý dữ liệu đẩy lên.
o Method: quy định cách thức gửi dữ liệu: Post hoặc Get. Nếu là Post
thì tất cả dữ liệu trong Form sẽ đóng gói và đẩy lên Server. Nếu là Get
thì dữ liệu được gởi đi như một phần của URL, thường là sau dấu “?”.
Get là phương thức mặc định.
Bạn có thể lấy thông tin của người sử dụng nhập vào form bằng 2 cách: sử
dụng Request.QueryString or Request.Form.
Active Server Pages
Trung tâm phát triển phần mềm - ĐHĐN - 21 -
a. Request.Form
Sử dụng để tập hợp các giá trị trong Form với phương thức Post. Thông tin gởi
đến từ Form với phương thức Post không thể nhìn thấy và không hạn chế về số
lượng thông tin gởi đến.
Ví dụ: Trong ví dụ 1, nếu phương thức là Post, người sử dụng nhập vào Họ: Lê và
tên : Anh và nhấn nút lệnh Submit thì URL sẽ gởi đến Server như sau:
http://localhost/giaotrinh/login.asp
Giả sử trang “login.asp” có chứa đoạn mã như sau:
<body>
Chào mừng bạn
<%
‘ truy xuất dữ liệu nhập từ form

‘ sử dụng Request.form
response.write(request.form("fname"))
response.write(" " & request.form("lname"))
%>
đã đến với chúng tôi.
</body>
Trên trình duyệt sẽ xuất hiện:
Chào mừng bạn Lê Anh đã đến với chúng tôi.
b. Request.QueryString
Sử dụng để tập hợp các giá trị trong form với phương thức Get. Thông tin gởi
từ form bằng phương thức get thấy được trên thanh địa chỉ (address) của trình
duyệt, không che dấu được dữ liệu và độ lớn dữ liệu bị hạn chế.
Nếu người sử dụng gõ “Le” và “Anh” trong ví dụ 1 thì URL gởi đến Server như
sau:
http://localhost/giaotrinh/login.asp?fname=Le&lname=Anh&B1=Submit
Giả sử file ASP "login.asp" chứa đoạn kịch bản như sau:
<body>
Chào mừng bạn
<%
‘ sử dụng Request.Querytring để truy xuất dữ liệu
response.write (request.querystring("fname"))
response.write (" " & request.querystring("lname"))
%> đ ã đến với chúng tôi
</body>
Trên trình duyệt sẽ hiển thị:

Active Server Pages
Trung tâm phát triển phần mềm - ĐHĐN - 22 -
c. Sự khác nhau giữa Form và Querytring











• Việc kích một siêu liên kết(hyperlink) trong một trang Web, thông điệp
email hay tài liệu khác, gõ địa chỉ vào thanh Address của một trình duyệt và nhấn
Enter, hay kích vào các nút lệnh liên kết, tất cả đều sử dụng phương thức Get.
Cách duy nhất gởi các giá trị đến Server từ những hành động này là qua tập hợp
Querytring, bằng cách gắn thêm vào URL.
Ví dụ:
<a href=”
liên kết </a>
• Khi sử dụng phân đoạn <Form> trong một trang, có thể đặt thuộc tính cho
Form là Get hoặc Post. Nếu là Get, trình duyệt sẽ lấy các giá trị trong tất cả các hộp
điều khiển (khung nhập dữ liệu) để xây dựng thành Querytring và gắn vào URL của
trang được yêu cầu khi Submit trang hiện tại. Khi trang này đến Server, các giá trị
của nó nằm ở tập hợp Request.Querytring. Ngược lại, nếu sử dụng phương thức
Post, trình duyệt sẽ đưa tất cả các giá trị vào trong HTTP header để gởi đến Server
và các giá trị của nó có thể truy xuất qua Request.Form
• Tóm lại, nên sử dụng phương thức FOST trong các form HTML, vì chiều
dài của chuỗi URL bị giới hạn nên nếu dùng Querytring sẽ có nguy cơ tràn và bị cắt
bớt dữ liệu, hơn nữa, khi sử dụng Query tring sẽ không đảm bảo dữ liệu của bạn
được bảo mật.
4. Sử dụng Cookie
Được sử dụng để nhận diện người sử dụng. Cookie là một file nhỏ nằm trên

Server được nhúng vào máy tính của người sử dụng. Mỗi lần máy tính yêu cầu một
trang trên trình duyệt, nó cũng sẽ gởi một Cookie. Với ASP, bạn có thể tạo và lấy
giá trị của Cookie.
a. Tạo Cookie
Câu lệnh Response.Cookies được sử dụng để tạo Cookie. Câu lệnh này phải
được đặt trước thẻ <HTML>
Ví dụ: Tạo một Cookie có tên “ten” và gán giá trị “Anh” cho nó
<%
Response.Cookies("ten")="Anh"
%>
Server (ASP Application )
Đọc dữ liệu sử dụng Querytring Đọc dữ liệu sử dụng Form
Method = Get Method = Post
Dữ liệu được gởi với URL Dữ liệu được gởi bên trong http header

Trình duyệt (Browser ) Form
Active Server Pages
Trung tâm phát triển phần mềm - ĐHĐN - 23 -
Có thể gán thuộc tính cho Cookie, ví dụ đặt thời gian hết hạn của Cookie:
<%
Response.Cookies("ten")="Anh"
Response.Cookies("ten").Expires=#May 10,2002#
%>
b. Lấy giá trị Cookie
Câu lệnh "Request.Cookies" được sử dụng để lấy giá trị Cookie
Ví dụ: Lấy giá trị của Cookie có tên “ten” và hiển thị nó lên trang web
<%
fname=Request.Cookies("ten")
response.write(“ten=" & fname)
%>

Kết quả trên trình duyệt sẽ hiển thị
ten=Anh
c. Khoá
Nếu một Cookie chứa một tập hợp các giá trị thì gọi là Cookie có khoá.
Ví dụ: Tạo một Cookie có tên là “user”. Cookie “user” có khoá chứa tất cả các
thông tin về người sử dụng.
<%
Response.Cookies("user")("ten")="Anh"
Response.Cookies("user")("ho")="Le"
Response.Cookies("user")("thanhpho")="DaNang"
Response.Cookies("user")("tuoi")="25"
%>
d. Ví dụ
Đoạn mã lệnh sau đây sử dụng Cookie để biết số lần bạn đến 1 trang web.
<%
‘ Khai báo biến Cookie
dim numvisits
‘ Tạo Cookie và đặt thời gian hết hạn cho Cookie
response.cookies("NumVisits").Expires=date+365
‘ Lấy giá trị Cookie
numvisits=request.cookies("NumVisits")
%>
<html>
<body>
<%
if numvisits="" then
response.cookies("NumVisits")=1
%>
Chào bạn! Đây là lần đầu tiên bạn ghé thăm chúng tôi.
<%

else
response.cookies("NumVisits")=numvisits+1
response.write("Bạn đã đến thăm ")
response.write("trang web này " & numvisits)
response.write " lần !"
Active Server Pages
Trung tâm phát triển phần mềm - ĐHĐN - 24 -
end if
%>
</body></html>
5. Đối tượng Server
Đối tượng Server được sử dụng để thực hiện các thao tác đặc biệt tác động lên
Server. Đối tượng Server cung cấp nhiều phương thức và thuộc tinh dùng cho truy
cập Server.
Cú pháp
Server.property | method
a. Thuộc tính (Property)
ð ScriptTimeout: Thuộc tính này quy định thời gian lớn nhất mà các lệnh kịch
bản còn được thực hiện. Giá trị mặc định là 90 giây
Cú pháp: Server.ScriptTimeout = thời gian tối đa kịch bản hết hiệu lực (tính
bằng giây)
Ví dụ: <%Server.ScriptTimeout =100%>
b. Phương thức
ð CreateObject: Phương thức này tạo một phiên bản của thành phần ActiveX.
Những đối tượng được tạo bởi phương thức này sẽ giải phóng khi Server
thực hiện xong các kịch bản.
Cú pháp: Server.CreateObject(kiểu đối tượng muốn tạo)
Ví dụ: <%
dim objAd
Set objAd = Server.CreateObject(“MSWC.AdRotator”)

%>
ð MapPath: Phương thức này cho biết thông tin về một đường dẫn vật lý của
một thư mục ảo trên Web Server
Cú pháp: Server.MapPath(path)
Ví dụ:
<%
StrSearchpath=Server.MapPath(“search/start/searchStart.asp”)
%>
ð HTMLEncode: Phương thức này dùng để mã hoá một chuỗi
Cú pháp: Server.HtmlEnCode(string)
Ví dụ:
<%
Dim strold
Dim strnew

Strold=”<table><tr><td>”
Strnew=Server.HtmlEncode(strold)

Response.write strNew
%>
Phương thức mà đối tượng Server thường sử dụng nhất là CreateObject.

×