Xem mẫu
- Xây dựng bộ đếm cho Website bằng ngôn ngữ ASP
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ữn g 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:
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
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:
Số người đang xem website:
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 c hỉ 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:
- Tên trường Kiểu
ID AutoNumber
SO_LAN_XEM Long Integer
Nội dung của file bodem.asp nh ư sau:
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:
Chúc các bạn thành công!
Hà Minh Nam
ha_minh_nam@hotmail.com
Theo PCWorld Vietnam
nguon tai.lieu . vn