Tìm kiếm

 
 Tìm kiếm nâng cao

Th�?ng kê

S�? ngư�?i �?ang online:

S�? lượt truy cập:
N�?m 2004
Tháng 10: 3.523.140
Tháng 11: 4.624.870
Tháng 12: 5.395.481

N�?m 2005
Tháng 1: 4.818.032
Tháng 2: 4.225.555
Tháng 3: 7.523.776
Quý I: 16.213.865

Thông tin m�?i




TRANG CHỦ ::>> E-BOOKS

Quản tr�? mạng: Xây dựng b�? �?ếm cho Website bằng ngôn ngữ ASP
Xây dựng b�? �?ếm cho Website bằng ngôn ngữ ASP [3/25/2005 11:16:00 AM]

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!

Hà Minh Nam
[email protected]

  In bài này | Trao �?�?i | Gá»­i cho bạn bè  Theo PCWorld Vietnam


Các bài m�?i nhất:
Tìm hi�?u và sử dụng h�? th�?ng �?�?a ch�? và giao thức mạng m�?i IPv6 12/24/2004 9:50:00 AM
Administering CISCO QoS for IP Networks 10/29/2004 2:45:00 PM
Xây dựng m�?t ứng dụng từ �?i�?n �?ơn giản 10/25/2004 10:32:00 AM
Bảo v�? thông tin �??nhạy cảm�?? kh�?i các chương trình tìm kiếm 10/21/2004 10:22:00 AM
Bư�?c tiến vượt bậc của PHP 5 9/13/2004 4:49:00 PM
SALT: Ngôn ngữ h�? trợ tiếng nói trên web 9/13/2004 5:51:00 PM
Deploying Network Access Quarantine Control, Part 2 9/9/2004 10:17:00 AM
Deploying Network Access Quarantine Control, Part 1 9/9/2004 10:14:00 AM
Kiến thức bảo mật mạng máy tính 9/7/2004
Quản tr�? và bảo mật Windows XP SP 2 sử dụng chính sách nhóm 8/27/2004 10:48:00 AM

Xem toàn b�? >>

Các bài �?ược �?�?ng trư�?c tin hi�?n tại:
Tìm hi�?u và sử dụng h�? th�?ng �?�?a ch�? và giao thức mạng m�?i IPv6 12/24/2004 9:50:00 AM
Administering CISCO QoS for IP Networks 10/29/2004 2:45:00 PM
Xây dựng m�?t ứng dụng từ �?i�?n �?ơn giản 10/25/2004 10:32:00 AM
Bảo v�? thông tin �??nhạy cảm�?? kh�?i các chương trình tìm kiếm 10/21/2004 10:22:00 AM
Bư�?c tiến vượt bậc của PHP 5 9/13/2004 4:49:00 PM
SALT: Ngôn ngữ h�? trợ tiếng nói trên web 9/13/2004 5:51:00 PM
Deploying Network Access Quarantine Control, Part 2 9/9/2004 10:17:00 AM
Deploying Network Access Quarantine Control, Part 1 9/9/2004 10:14:00 AM
Kiến thức bảo mật mạng máy tính 9/7/2004
Quản tr�? và bảo mật Windows XP SP 2 sử dụng chính sách nhóm 8/27/2004 10:48:00 AM

Xem toàn b�? >>
Tr�? v�? �?ầu trang Tro ve dau trang

   Trang chủ | �?�?ng tuy�?n dụng | Gá»­i bài viết | Góp ý - Liên h�?

QUY �?�?NH | �?i�?u khoản sử dụng

Copyright © 2003-2005 QuanTriMang.com. All rights reverved
Designed and Developed by
QuanTriMang.com