Cookie ASP
Cookie thường được sử dụng để nhận dạng người dùng.
Thêm ví dụ
Bánh quy chào mừng
Cách tạo cookie chào mừng.
Cookie là gì?
Cookie thường được sử dụng để nhận dạng người dùng. Cookie là một tệp nhỏ mà máy chủ nhúng vào máy tính của người dùng. Mỗi lần máy tính đó yêu cầu một trang bằng trình duyệt, nó cũng sẽ gửi cookie. Với ASP, bạn có thể vừa tạo vừa truy xuất các giá trị cookie.
Làm cách nào để tạo cookie?
Lệnh "Response.Cookies" được sử dụng để tạo cookie.
Lưu ý: Lệnh Response.Cookies phải xuất hiện TRƯỚC thẻ <html>.
Trong ví dụ bên dưới, chúng tôi sẽ tạo một cookie có tên "firstname" và gán giá trị "Alex" cho nó:
<%
Response.Cookies("firstname")="Alex"
%>
Cũng có thể chỉ định thuộc tính cho cookie, chẳng hạn như đặt ngày hết hạn cookie:
<%
Response.Cookies("firstname")="Alex"
Response.Cookies("firstname").Expires=#May 10,2012#
%>
Làm cách nào để truy xuất giá trị cookie?
Lệnh "Request.Cookies" được sử dụng để truy xuất giá trị cookie.
Trong ví dụ bên dưới, chúng tôi truy xuất giá trị của cookie có tên "firstname" và hiển thị nó trên một trang:
<%
fname=Request.Cookies("firstname")
response.write("Firstname=" & fname)
%>
Đầu ra: Tên=Alex
Một chiếc bánh quy có chìa khóa
Nếu cookie chứa tập hợp nhiều giá trị, chúng tôi nói rằng cookie có Khóa.
Trong ví dụ bên dưới, chúng tôi sẽ tạo bộ sưu tập cookie có tên là "người dùng". Cookie "người dùng" có Khóa chứa thông tin về người dùng:
<%
Response.Cookies("user")("firstname")="John"
Response.Cookies("user")("lastname")="Smith"
Response.Cookies("user")("country")="Norway"
Response.Cookies("user")("age")="25"
%>
Đọc tất cả Cookie
Nhìn vào đoạn mã sau:
<%
Response.Cookies("firstname")="Alex"
Response.Cookies("user")("firstname")="John"
Response.Cookies("user")("lastname")="Smith"
Response.Cookies("user")("country")="Norway"
Response.Cookies("user")("age")="25"
%>
Giả sử rằng máy chủ của bạn đã gửi tất cả các cookie ở trên cho người dùng.
Bây giờ chúng tôi muốn đọc tất cả các cookie được gửi cho người dùng. Ví dụ bên dưới cho biết cách thực hiện (lưu ý rằng mã bên dưới sẽ kiểm tra xem cookie có Khóa với thuộc tính HasKeys hay không):
<!DOCTYPE html>
<html>
<body>
<%
dim x,y
for each x in Request.Cookies
response.write("<p>")
if Request.Cookies(x).HasKeys then
for each y in Request.Cookies(x)
response.write(x & ":" & y & "=" & Request.Cookies(x)(y))
response.write("<br>")
next
else
Response.Write(x & "=" & Request.Cookies(x) & "<br>")
end if
response.write "</p>"
next
%>
</body>
</html>
Đầu ra:
tên=Alex
người dùng:firstname=John
người dùng:họ=Smith
người dùng:quốc gia=Na Uy
người dùng:tuổi=25
Điều gì sẽ xảy ra nếu Trình duyệt KHÔNG hỗ trợ Cookie?
Nếu ứng dụng của bạn xử lý các trình duyệt không hỗ trợ cookie, bạn sẽ phải sử dụng các phương pháp khác để truyền thông tin từ trang này sang trang khác trong ứng dụng của mình. Có hai cách để làm điều này:
1. Thêm tham số vào URL
Bạn có thể thêm tham số vào URL:
<a href="welcome.asp?fname=John&lname=Smith">Go to Welcome Page</a>
Và truy xuất các giá trị trong tệp "welcome.asp" như thế này:
<%
fname=Request.querystring("fname")
lname=Request.querystring("lname")
response.write("<p>Hello " & fname & " " & lname & "!</p>")
response.write("<p>Welcome to my Web site!</p>")
%>
2. Sử dụng biểu mẫu
Bạn có thể sử dụng một hình thức. Biểu mẫu chuyển thông tin đầu vào của người dùng tới "welcome.asp" khi người dùng nhấp vào nút Gửi:
<form method="post" action="welcome.asp">
First Name: <input type="text" name="fname" value="">
Last Name: <input type="text" name="lname" value="">
<input type="submit" value="Submit">
</form>
Truy xuất các giá trị trong tệp "welcome.asp" như thế này:
<%
fname=Request.form("fname")
lname=Request.form("lname")
response.write("<p>Hello " & fname & " " & lname & "!</p>")
response.write("<p>Welcome to my Web site!</p>")
%>