程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> ASP編程 >> ASP技巧 >> ASP程序實現網站在線人數統計的方法

ASP程序實現網站在線人數統計的方法

編輯:ASP技巧

打開有的網頁的時侯,特殊是論壇網站,經常在其底部可以看見一些“當前網站上的人數是XXX人”的在線人數同計。如何用ASP來做一個呢?首先,分析一下它的做法,一般來說,這些線上人數統計都是指一個時段內的訪客人數統計。比如(5分鐘內,10分鐘內)而這個時間的長短,是由設計者設定的。

在這個時段內同計各個不同IP的訪客總數,就可以得出當前的線上人數了,但這裡有一個精確問題需要解決,至於用什麼辦法來精確地統計,那就是各人不同的做法了,比如可以用自動提交的頁面,隔一段時間讀取COOKIES等等,而在ASP中,有一個更好的技巧,就是使用session對象來統計,這裡介紹一下gobal.asa這個文件,這是一個很重要的一個文件,請看看它的結構。

01 <SCRIPT LANGUAGE="VBScript" RUNAT="Server"> 02 Sub Session_OnStart 03 End Sub 04 Sub Session_OnEnd 05 End Sub 06 sub Application_OnStard 07 End Sub 08 sub Application_OnEnd 09 End Sub 10 </SCRIPT>(鼠標移到代碼上去,在代碼的頂部會出現四個圖標,第一個是查看源代碼,第二個是復制代碼,第三個是打印代碼,第四個是幫助)

以下為引用的內容:
當有一個會話發生時(用戶浏覽網頁,向Web服務器發出請求)那麼,如果自服務器啟動後第一個用戶的話,就會同時發生Application_OnStard和Session_OnStart這兩個事件,之後,再有別的用戶發出請求的話,就只發生Session_OnStart這個事件,而session的生存期是多長,是可以設定的,Session.timeout=X(分鐘)

好了,有了這個很好用的方法,我們就能准確地統計出在線人數了,而人數總計是用一個application變量來保存,當在第一個會話開始時,在Application_OnStard事件中放置一條清空計數器的語句application("online")=0,然後,在Session_OnStart事件中,放置一條增加在線人數的語句application("online")=application("online")+1,而在Session_OnEnd事件相應地放一條減少在線人數的語句,令計數值減一。

這樣,這個文件就改為如下
以下為引用的內容:

01 <SCRIPT LANGUAGE="VBScript" RUNAT="Server"> 02 Sub Session_OnStart 03 application("online")=application("online")+1 04 End Sub 05 Sub Session_OnEnd 06 application("online")=application("online")-1 07 End Sub 08 sub Application_OnStard 09 application("online")=0 10 End Sub 11 sub Application_OnEnd 12 application("online")=0 13 End Sub</SCRIPT>(鼠標移到代碼上去,在代碼的頂部會出現四個圖標,第一個是查看源代碼,第二個是復制代碼,第三個是打印代碼,第四個是幫助)


接下來編一個顯示圖形數字的程序,把在線人數顯示在指定的頁面上。這樣就能得出在人數了
以下為引用的內容:

online.ASP

01 <% @language="vbscript" %> 02 <% 03 tmp=application("online") 04 tmp=Cstr(tmp) 05 dim disp(20) 06 dim images(20) 07 dbbits=len(tmp) 08 for I= 1 to dbbits 09 disp(I)=left(right(tmp,I),I-(I-1)) 10 next 11 for I=dbbits to 1 step -1 12 images(I)="<img src=http://chinaz.com/Program/ASP/"&"http://xxxx.com.cn/pic"&"/"&disp(I)&".gif>" 13 response.write "document.write("&images(I)&");" 14 next 15 %>(鼠標移到代碼上去,在代碼的頂部會出現四個圖標,第一個是查看源代碼,第二個是復制代碼,第三個是打印代碼,第四個是幫助)


上面的程序很簡單,這裡不作分析了,請大家自己閱讀一下。在調用在線統計的頁面上用一句script語句引用online.ASP文件,以顯示圖形統計器。
以下為引用的內容:

<script language="JavaScript" src="http://xxxx.com.cn/online.ASP"></script> 
現在可以了,記住要點,你必須把gobal.asa放在正確的web應用程序根目錄上,而最好單獨為這個統計新建一個web應用程序,不要與其它別的程序混亂了,不然得出的數據是不准確的,而把這個程序修改為多用戶的在線統計也很簡單。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved