Đối tượng Session : Dựng để quản lý cỏc thụng tin liờn quan đến mộtphiờnlàm việc. Một phiờn (Session) làm việc là gỡ ?: Mỗi khi mở trỡnh duyệt (lần đầu tiờn) vào website ứng dụng, ta đó tạo ra một phiờn làm việc. Phiờn làm việc kết thỳc khi ta ra khỏi website ứng dụng hoặc khi tất cả cỏc cửa sổ trỡnh duyệt bị đúng.
Biến Sesstion
Khi vào một website, người dựng cú thể duyệt rất nhiều trang web của website đú. Nếu muốn lưu trữ thụng tin về khỏch thăm này trong cả phiờn làm việc thỡ cú thể lưu vào cỏc biến, gọi là biến Session.
Đối tượng Session
Là đối tượng dựng để quản lý (tạo, đọc, ghi) cỏc biến sesstion và một số thụng số khỏc. + Cỳ phỏp đểtạo biếnSession như sau:
Session(“Tờn_Biến”) = <Giỏ trị>
Lưu ý:Tờn biến phải đặt trong cặp dấu nhỏy kộp. <Giỏ trị> cú thể là xõu ký tự hoặc số.
Vớ dụ :Tạo một biến tờn là MaNguoiDung và gỏn giỏ trị là TK34 Session(“MaNguoiDung”) = “TK34”
+ Cỳ phỏp để đọc giỏ trị của một biến sesstion như sau: Session(“Tờn_Biến”)
+ Cỳ phỏp để ghi (thay đổi) giỏ trị của biến session: Session(“Tờn_Biến”) = <Giỏ trị>
Vớ dụ:
Response.write(“Mó người dựng là : “ &Session(“MaNguoiDung”))
Riờng với đối tượng Session, nú cũn cú cỏc sự kiện. Cỏc sự kiện này tự động được gọi mỗi khi một phiờn làm việc được tạo ra. Cỏc sự kiện này cú tờn là On_Start và On_End. Cỏc sự kiện này được đặt trong file Global.asa.
File Global.asa
<scriptLANGUAGE = "VBScript" RUNAT = Server>
'/// Thủ tục này được gọi khi bắt đầu một phiờn
SUBSession_OnStart '...
Session("MaNguoiDung") = "Khỏch_Lạ" '...
END SUB
'/// Thủ tục này được gọi khi kết thỳc một phiờn
SUBSession_OnEND '...
END SUB </SCRIPT>
Vớ dụ đọc giỏ trị biến Session: File Session_Demo.asp
<HTML> <head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252"> <title>Đọc giỏ trị của biến Session cú tờn là MaNguoiDung</title>
</head> <BODY>
Response.write("<BR>Bạn là : " &Session("MaNguoiDung"))
%>
</BODY> </HTML>
Vớ dụ: Chỉ hiển thị cỏc trang chủ (Home.asp) nếu người dựng cú tờn (UserName) là TK34 và mật khẩu là 123456. Nếu khụng thỡ hiển thị trang Login.asp để người dựng đăng nhập.
Trang Global.asa
<scriptLANGUAGE = "VBScript" RUNAT = Server> '/// Thu tuc nay duoc goi khi bat dau mot phien
SUBSession_OnStart '... Session("MaNguoiDung") = "" Session("MatKhau") = "" Session("TrangThaiDangNhap") = "cha" '... END SUB
'/// Thu tuc nay duoc goi khi ket thuc phien lam viec
SUBSession_OnEND '...
END SUB </SCRIPT> Trang Login.asp
<HTML> <head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Dang nhap</title> </head> <BODY> <% IFRequest.Form("MaNguoiDung")= "TK34" and Request.Form("MatKhau")="123456"THEN Session("MaNguoiDung") =Request.Form("MaNguoiDung") Session("MatKhau") =Request.Form("MatKhau") Session("TrangThaiDangNhap") = "rồi"
Response.write("Bạn đó đăng nhập thành cụng ! Bạn cú thể vào ") Response.write("<a href = 'Home.asp'>Trang chủ </a>")
ELSE‘/// Tạo form đăng nhập
Session("TrangThaiDangNhap") = "chưa"
Response.write("<form action='Login.asp' method = 'Post'>")
Response.write("Tờn đăng nhập:<Inputtype = text name = MaNguoiDung> <BR>")
Response.write("Mật khẩu :<Inputtype = password name = MatKhau> <BR>")
Response.write("<Inputtype =Submitvalue = 'Đăng nhập'>")
Response.write("</form>") END IF
</BODY> </HTML> Trang Home.asp <head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252"> <title>Trang chủ</title>
</head> <BODY> <%
IFSession("TrangThaiDangNhap") = "rồi"THEN
Response.write("<h2>Đõy là trang chủ của lớp TK34 !</h2>")
Response.write("<h1>Chào mừng bạn đó ghộ thăm website của chỳng tụi !") ELSE
Response.write("Bạn chưa đăng nhập ! <a href = 'Login.asp'> Đăng nhập. </a>") END IF
%>
</BODY> </HTML>
*Lưu ý: Cú thể tạo biến Session ở bất kỳ đõu chứ khụng nhất thiết ở trong file Global.asa ??? Dựng biến Session khi nào ?