
B đ m WEBộ ế
B n mu n bi t t i m t th i đi m có bao nhiêu ng i đang truy c p website c aạ ố ế ạ ộ ờ ể ườ ậ ủ
mình? Vi c này không th th c hi n đ c v i mã l nh HTML thu n túy hayệ ể ự ệ ượ ớ ệ ầ
JavaScript mà ph i dùng đ n ngôn ng k ch b n ch y trên server (server-sideả ế ữ ị ả ạ
scripting language) nh ASP, PHP hay JSP. Bài vi t này gi i thi u cách hi n thư ế ớ ệ ể ị
thông tin th ng kê v s ng i đang truy c p (online), s l t truy c p, s l nố ề ố ườ ậ ố ượ ậ ố ầ
duy t xem các trang trong website b ng ngôn ng ASP thông d ng c a Microsoft.ệ ằ ữ ụ ủ
Nh ng thông tin v s l t truy c p đ c g i là b đ m cho website - m t trongữ ề ố ượ ậ ượ ọ ộ ế ộ
nh ng ng d ng c b n mà các website chuyên nghi p th ng dùng đ n. B đ mữ ứ ụ ơ ả ệ ườ ế ộ ế
giúp cho chính b n và khách truy c p bi t đ c website ho t đ ng hi u qu nhạ ậ ế ượ ạ ộ ệ ả ư
th nào, “đông khách” hay “v ng khách”.ế ắ
1.Hi n th s ng i đang truy c p website:ể ị ố ườ ậ
M i ng d ng web ASP đ u có th có m t file c u hình chung là GLOBAL.ASA.ỗ ứ ụ ề ể ộ ấ
File GLOBAL.ASA đ c server đ c và th c thi khi ng d ng web b t đ u ch yượ ọ ự ứ ụ ắ ầ ạ
m i khi có m t yêu c u t i trang web t client (phía ng i dùng). Trong fileỗ ộ ầ ả ừ ườ
GLOBAL.ASA th ng có các th t c sau:ườ ủ ụ
Application_OnStart: Đ c g i khi ng d ng web b t đ u ch y. Nh v y th t cượ ọ ứ ụ ắ ầ ạ ư ậ ủ ụ
này ch đ c g i duy nh t m t l n khi website c a b n có yêu c u truy c p đ uỉ ượ ọ ấ ộ ầ ủ ạ ầ ậ ầ
tiên cho t i khi ng d ng web k t thúc ho c file GLOBAL.ASA có thay đ i. Chúngớ ứ ụ ế ặ ổ
ta s kh i t o bi n đ m s ng i đang truy c p website t i đây:ẽ ở ạ ế ế ố ườ ậ ạ
Application(“So_Nguoi_Online”) = 0
Bi n Application có nh h ng t i toàn b ng d ng web, t c là t t c các trangế ả ưở ớ ộ ứ ụ ứ ấ ả
c a website đ u dùng chung bi n này.ủ ề ế
Session_OnStart: Đ c g i khi có m t yêu c u k t n i c a client t i server đ cượ ọ ộ ầ ế ố ủ ớ ượ
thi t l p, t c là khi ng i dùng gõ vào đ a ch c a website trong trình duy t đ truyế ậ ứ ườ ị ỉ ủ ệ ể
c p. Khi đó, chúng ta s tăng bi n đ m s ng i online:ậ ẽ ế ế ố ườ
Application(“So_Nguoi_Online”) = Application(“So_Nguoi_Online”) + 1
Session_OnEnd: Đ c g i khi client ng t k t n i v i server, t c là khi ng i dùngượ ọ ắ ế ố ớ ứ ườ
chuy n qua trang web khác ho c đóng trình duy t l i. Khi đó chúng ta s gi m bi nể ặ ệ ạ ẽ ả ế
đ m s ng i online:ế ố ườ
Application(“So_Nguoi_Online”) = Application(“So_Nguoi_Online”) -1
N i dung c a file GLOBAL.ASA nh sau:ộ ủ ư
<SCRIPT LANGUAGE=”VbScript” RUNAT=“Server”>
Sub Application_OnStart()
Kh i t o giá tr ban đ u cho bi n = 0ở ạ ị ầ ế

Application(“So_Nguoi_Online”) = 0
End Sub
Sub Session_OnStart()
M i khi có m t yêu c u truy c p khác thì tăng s ng i truy c p lên 1ỗ ộ ầ ậ ố ườ ậ
Khóa bi n Application đ tránh tr ng h p có nhi u yêu c u truy c p cùng m t lúcế ể ườ ợ ề ầ ậ ộ
Application.Lock
Application(“So_Nguoi_Online”) = Application(“So_Nguoi_Online”) + 1
M khóa bi n Application đ yêu c u truy c p sau s thay đ i đ c giá tr c aở ế ể ầ ậ ẽ ổ ượ ị ủ
bi nế
Application.UnLock
End Sub
Sub Session_OnEnd()
M i khi có m t có m t k t n i b ng t thì gi m s ng i truy c p đi 1ỗ ộ ộ ế ố ị ắ ả ố ườ ậ
Application.Lock
Application(“So_Nguoi_Online”) = Application(“So_Nguoi_Online”) - 1
Application.UnLock
End Sub
</SCRIPT>
B n ph i đ t file GLOBAL.ASA trong th m c g c c a website c a mình, sau đóạ ả ặ ư ụ ố ủ ủ
đ hi n th s ng i đang truy c p website b n th c hi n nh sau:ể ể ị ố ườ ậ ạ ự ệ ư
<h1>
S ng i đang xem website: <% = Application(“So_Nguoi_Online”) %> </h1>ố ườ
2.Hi n th s l t truy c p website:ể ị ố ượ ậ
S l t truy c p website đ c tính b ng s l n yêu c u truy c p website trênố ượ ậ ượ ằ ố ầ ầ ậ
server c a b n. S l t truy c p website luôn tăng, do đó chúng ta ch c n khai báoủ ạ ố ượ ậ ỉ ầ
bi n trong th t c Application_OnStart:ế ủ ụ
Application(“So_Luot_Truy_Cap”) = 0

Và tăng bi n này lên 1 trong th t c Session_OnStart:ế ủ ụ
Application(“So_Luot_Truy_Cap”) = Application(“So_Luot_Truy_Cap”) + 1
Và hi n th trong website:ể ị
S l t truy c p: <% = Application(“So_Luot_Truy_Cap”)ố ượ ậ
3.Hi n th s l n duy t xem các trang c a website:ể ị ố ầ ệ ủ
Trong m t phiên truy c p thì ng i dùng có th duy t xem nhi u trang trongộ ậ ườ ể ệ ề
website c a b n, chúng ta ph i l u thông tin này vào c s d li u. M i trang ASPủ ạ ả ư ơ ở ữ ệ ỗ
trong website c a b n s include file ch a b đ m (chúng ta t m đ t tên làủ ạ ẽ ứ ộ ế ạ ặ
bodem.asp) vào đ u trang đ đ m s l n duy t xem website.ầ ể ế ố ầ ệ
Chúng ta s dùng c s d li u Access đ l u tr thông tin v s l n duy t xemẽ ơ ở ữ ệ ể ư ữ ề ố ầ ệ
website. B n t o m t b ng DUYETXEM v i các tr ng nh sau:ạ ạ ộ ả ớ ườ ư
Tên tr ng Ki uườ ể
ID AutoNumber
SO_LAN_XEM Long Integer
N i dung c a file bodem.asp nh sau:ộ ủ ư
<%
Bi n đ truy xu t CSDLế ể ấ
Dim rs
Bi n ghi s l n duy t xem các trang trong websiteế ố ầ ệ
Dim SoLanXem
Ch a chu i l nh SQL c n th c hi n ứ ỗ ệ ầ ự ệ
Dim strSQL
Chu i k t n i v i CSDLỗ ế ố ớ
Dim strConnection
Bi n thi t l p k t n iế ế ậ ế ố
Dim myConnection
Đ u tiên xác đ nh chu i k t n i v i CSDL, thay đ i đ ng d n t i CSDL ầ ị ỗ ế ố ớ ổ ườ ẫ ớ
cho phù h p v i đ ng d n và tên CSDL c a website c a b nợ ớ ườ ẫ ủ ủ ạ

strConnection = “provider=microsoft.jet.oledb.4.0; data source = “ &
Server.MapPath(“../db/DATA.MDB”)
Câu l nh SQL dùng đ truy xu t CSDLệ ể ấ
strSQL = “SELECT * FROM DUYETXEM WHERE SO_LAN_XEM > 0”
Kh i t o k t n iở ạ ế ố
Set myConnection = Server.CreateObject(“ADODB.Connection”)
M k t n i và th c hi n câu l nh SQLở ế ố ự ệ ệ
myConnection.Open strConnection
Set rs = myConnection.Execute(strSQL)
N u s l n xem > 0 thì tăng bi n đ m lên 1ế ố ầ ế ế
If Not rs.EOF Then
SoLanXem = rs(“SO_LAN_XEM”)
SoLanXem = (SoLanXem + 1)
C p nh t vào CSDLậ ậ
strSQL = “UPDATE DUYETXEM SET SO_LAN_XEM = “ & SoLanXem
Set rs = myConnection.Execute(strSQL)
Else N u ch a có l n xem nàoế ư ầ
SoLanXem = 1
Thêm vào CSDL
strSQL = “INSERT INTO DUYETXEM (SO_LAN_XEM) VALUES (“ &
SoLanXem & “);”
Set rs = myConnection.Execute(strSQL)
End If
Đóng k t n iế ố
Set myConnection = Nothing
Set rs = Nothing

%>
Trong đ u m i trang ASP b n include file bodem.asp vào và hi n th nh sau:ầ ỗ ạ ể ị ư
<!--#INCLUDE FILE = bodem.asp -->
<%
Response.Write(“Trang web đã đ c duy t “ & SoLanXem & “ l n”)ượ ệ ầ
%>
Chúc các b n thành công!ạ

