Posted: 2005/1月/07 10:54上午 | IP記錄
|
|
|
統計訪問者
在Active Server Pages中包括兩個組件用來進行頁面的計數統計。使用該組件,你就可以瞭解每一個頁面的訪問情況,可以在這個頁面上直接顯示, 或者用戶自己需要的其他目的。
計數器組件
計數器組件用來統計一個頁面被請求的次數,當然也可以用來統計其他東西,例如:統計站點訪問者,統計廣告點擊次數,甚至統計用N etScape2.0訪問的用戶人數這樣的細觀信息。
你只需要創建一個這樣的事例,而且一個這樣的事例就可以提供很多個單獨的計數器,這種劃分是按照計數器名稱進行的。
由於你只需要創建一個計數器組件,那麼在Global.asa中進行這種創建是非常不錯的主意,這樣當你的網站開始運行時就只有 一個計數器對象的事例。
注意
對Global.asa的詳細介紹參見本書的第17章。
下面是在Global.asa中進行這個事例創建的腳本:
<OBJECT RUNAT=Server SCOPE=」Application」 ID=」MyCount」
PROGID=」MSWC.Counters」></OBJECT>
微軟的HTML<OBJECT>標記被用來創建一個名字為MyCount的範圍是Application的計數器事 例。記住使用<OBJECT>對像要在Global.asa文件中的任何事件的腳本之外。一旦該事例被創建,你就可 以在整個application範圍內使用其方法屬性。
計數器組件有下面4個方法。下面將介紹每個方法的具體使用。
■Get(Counter Name).這個方法返回當前的計數器值,如果計數器不存在,則進行創 建並且賦值為0。
■Increment(Counter Name).對計數器進行加1操作,如果計數器不存在,則創建並且 賦初值為1。
■Remove(Counter Name).消除指定的計數器。
■Set(Counter Name, integer).這個方法有兩個參數,第一個是計數器的名稱,第二個是一個整數,你可以將當前計數器的值設定為該整數,同樣對 於不存在的計數器也可以進行創建和賦值。
這個計數器對像在Global.asa中創建之後,就可以在你的Active server Pages中添加和減少獨立的計數器,在一個頁面中創建的計數器可以增加、減少,甚至移除到另一個頁面上去。下面就是這麼一個使 用計數器組件對特定頁面進行訪問次數統計的示例:
<HTML>
<HEAD><TITLE>某一頁</TITLE></HEAD>
<BODY>
這個頁面已經被瀏覽<%=MyCount.Increment(「PageCnt」) %>次
</BODY>
</HTML>
第一次調用該頁面時,PageCnt計數器就被創建然後賦值為1,以後每次都會自動加1。
那麼當服務器突然間以外關閉怎麼辦?你創建的計數器還會存在,因為這已經保存到Counters.txt文件中了。當服務器再度 開啟,那麼這個計數器又可以繼續運行。
不過這麼一個計數器確實看上去過於單薄,那麼很多有點特點的計數器都是用圖片文件的,下面是這樣的一個例子:
<%
SUB ShowImageCnt(TheNum)
CntStr=CSTR(TheNum)
For I=1 to LEN(CntStr)
CntPart=MID(CntStr,I,1)
%>
<img src=」<%=CntPart %>.gif」 ALT=」<%=CntPart %>」>
<%
NEXT
END SUB
%>
<HTML>
<HEAD><TITLE>某一頁</TITLE></HEAD>
<BODY>
這個頁面已經被訪問了<%ShowImgCnt MyCount.Increment(「PageCnt」) %>次。
</BODY>
</HTML>
這個active Server Pages也顯示計數器,不過這裡面用的是圖片文件的顯示,當然, 你首先需要有1.gif,2.gif,3.gif…9.gif,0.gif這樣10個圖片文件來顯示10個數字。其中ShowI mageCnt子程序就是取出每一個數字然後找到相應圖片文件顯示出來,由於程序相當簡單,不做過多解釋。這些顯示數字的圖片文 件可以在很多地方自由下載,當然也可以自己去創作。
Page Counter組件
從名稱上看似乎和前者沒有什麼區別,不過它的目的更加單一,是顯示該頁面打開次數。
注意
早期版本的Active Server Pages和IIS均不提供該組件,那麼可以在 http://www.microsoft.com/iis下面進行下載。
Page Counter組件比上一個小節的Counter組件簡單很多,它除了對頁麵點擊次數進 行統計之外別無所用。下面是該組件的兩個方法。
■Hits(Path)返回限定頁面的點擊次數,如果沒有提供參數,則默認為當前頁
■Reset(path)將該頁麵點擊次數重置為0。
和Counter組件不同的是,你不需要在Global.asa中進行什麼變動,只是需要在要進行調用的頁面上創建該事例,然後 使用就可以了。
下面這個例子:
<HTML>
<HEAD><TITLE>頁面計數器示例</TITLE></HEAD>
<BODY>
<%
Set MyHits=Server.CreateObject(「MSWC.PageCounter」)
%>
這個頁面被訪問了<%=MyHits.hits %>次
</Body>
</HTML>
這種調用過程極為簡單,並顯示該頁被打開次數,請注意這裡面的hits方法沒有調用參數,因為是當前頁的計數值。
總結
本章開始介紹如何進行隨機廣告的處理,然後是隨機內容的顯示,最後介紹計數器應用的兩個組件,相信對讀者進行自己網站設計有所助 益。
|