?? 21-3.cfm.htm
字號:
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=gb_2312-80">
<META NAME="Generator" CONTENT="Microsoft Word 97">
<TITLE>統計訪問者</TITLE>
</HEAD>
<BODY>
<B><FONT FACE="宋體" LANG="ZH-CN"><P ALIGN="JUSTIFY">統計訪問者</P>
</B></FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3><P ALIGN="JUSTIFY"> 在Active Server Pages中包括兩個組件用來進行頁面的計數統計。使用該組件,你就可以了解每一個頁面的訪問情況,可以在這個頁面上直接顯示,或者用戶自己需要的其他目的。</P>
<B><P ALIGN="JUSTIFY"> </P>
</FONT><FONT FACE="宋體" LANG="ZH-CN"><P ALIGN="JUSTIFY">計數器組件</P>
</B></FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3><P ALIGN="JUSTIFY"> 計數器組件用來統計一個頁面被請求的次數,當然也可以用來統計其他東西,例如:統計站點訪問者,統計廣告點擊次數,甚至統計用NetScape2.0訪問的用戶人數這樣的細觀信息。</P>
<P ALIGN="JUSTIFY"> </P>
<P ALIGN="JUSTIFY"> 你只需要創建一個這樣的事例,而且一個這樣的事例就可以提供很多個單獨的計數器,這種劃分是按照計數器名稱進行的。</P>
<P ALIGN="JUSTIFY"> </P>
<P ALIGN="JUSTIFY"> 由于你只需要創建一個計數器組件,那么在Global.asa中進行這種創建是非常不錯的主意,這樣當你的網站開始運行時就只有一個計數器對象的事例。</P>
<P ALIGN="JUSTIFY"> </P>
<B><P ALIGN="JUSTIFY">注意</P>
</B><P ALIGN="JUSTIFY"> 對Global.asa的詳細介紹參見本書的第17章。</P>
<P ALIGN="JUSTIFY"> </P>
<P ALIGN="JUSTIFY">下面是在Global.asa中進行這個事例創建的腳本:</P>
<P ALIGN="JUSTIFY"> </P>
<P ALIGN="JUSTIFY"><OBJECT RUNAT=Server SCOPE=</FONT><FONT SIZE=3>”</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>Application</FONT><FONT SIZE=3>”</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3> ID=</FONT><FONT SIZE=3>”</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>MyCount</FONT><FONT SIZE=3>”</P>
</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3><P ALIGN="JUSTIFY">PROGID=</FONT><FONT SIZE=3>”</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>MSWC.Counters</FONT><FONT SIZE=3>”</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>></OBJECT></P>
<P ALIGN="JUSTIFY"> </P>
<P ALIGN="JUSTIFY"> 微軟的HTML<OBJECT>標記被用來創建一個名字為MyCount的范圍是Application的計數器事例。記住使用<OBJECT>對象要在Global.asa文件中的任何事件的腳本之外。一旦該事例被創建,你就可以在整個application范圍內使用其方法屬性。</P>
<P ALIGN="JUSTIFY"> </P>
<P ALIGN="JUSTIFY">計數器組件有下面4個方法。下面將介紹每個方法的具體使用。</P>
<P ALIGN="JUSTIFY">■Get(Counter Name).這個方法返回當前的計數器值,如果計數器不存在,則進行創 建并且賦值為0。</P>
<P ALIGN="JUSTIFY">■Increment(Counter Name).對計數器進行加1操作,如果計數器不存在,則創建并且 賦初值為1。</P>
<P ALIGN="JUSTIFY">■Remove(Counter Name).消除指定的計數器。</P>
<P ALIGN="JUSTIFY">■Set(Counter Name, integer).這個方法有兩個參數,第一個是計數器的名稱,第二個是一個整數,你可以將當前計數器的值設定為該整數,同樣對于不存在的計數器也可以進行創建和賦值。</P>
<P ALIGN="JUSTIFY"> </P>
<P ALIGN="JUSTIFY"> 這個計數器對象在Global.asa中創建之后,就可以在你的Active server Pages中添加和減少獨立的計數器,在一個頁面中創建的計數器可以增加、減少,甚至移除到另一個頁面上去。下面就是這么一個使用計數器組件對特定頁面進行訪問次數統計的示例:</P>
<P ALIGN="JUSTIFY"> </P>
<P ALIGN="JUSTIFY"><HTML></P>
<P ALIGN="JUSTIFY"><HEAD><TITLE>某一頁</TITLE></HEAD></P>
<P ALIGN="JUSTIFY"><BODY></P>
<P ALIGN="JUSTIFY">這個頁面已經被瀏覽<%=MyCount.Increment(</FONT><FONT SIZE=3>“</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>PageCnt</FONT><FONT SIZE=3>”</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>) %>次</P>
<P ALIGN="JUSTIFY"></BODY></P>
<P ALIGN="JUSTIFY"></HTML></P>
<P ALIGN="JUSTIFY"> </P>
<P ALIGN="JUSTIFY"> 第一次調用該頁面時,PageCnt計數器就被創建然后賦值為1,以后每次都會自動加1。</P>
<P ALIGN="JUSTIFY">那么當服務器突然間以外關閉怎么辦?你創建的計數器還會存在,因為這已經保存到Counters.txt文件中了。當服務器再度開啟,那么這個計數器又可以繼續運行。</P>
<P ALIGN="JUSTIFY">不過這么一個計數器確實看上去過于單薄,那么很多有點特點的計數器都是用圖片文件的,下面是這樣的一個例子:</P>
<P ALIGN="JUSTIFY"> </P>
<P ALIGN="JUSTIFY"><%</P>
<P ALIGN="JUSTIFY">SUB ShowImageCnt(TheNum)</P>
<P ALIGN="JUSTIFY">CntStr=CSTR(TheNum)</P>
<P ALIGN="JUSTIFY">For I=1 to LEN(CntStr)</P>
<P ALIGN="JUSTIFY"> CntPart=MID(CntStr,I,1)</P>
<P ALIGN="JUSTIFY">%></P>
<P ALIGN="JUSTIFY"><img src=</FONT><FONT SIZE=3>”</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3><%=CntPart %>.gif</FONT><FONT SIZE=3>”</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3> ALT=</FONT><FONT SIZE=3>”</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3><%=CntPart %></FONT><FONT SIZE=3>”</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>></P>
<P ALIGN="JUSTIFY"><%</P>
<P ALIGN="JUSTIFY">NEXT</P>
<P ALIGN="JUSTIFY">END SUB</P>
<P ALIGN="JUSTIFY">%></P>
<P ALIGN="JUSTIFY"><HTML></P>
<P ALIGN="JUSTIFY"><HEAD><TITLE>某一頁</TITLE></HEAD></P>
<P ALIGN="JUSTIFY"><BODY></P>
<P ALIGN="JUSTIFY">這個頁面已經被訪問了<%ShowImgCnt MyCount.Increment(</FONT><FONT SIZE=3>“</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>PageCnt</FONT><FONT SIZE=3>”</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>) %>次。</P>
<P ALIGN="JUSTIFY"></BODY></P>
<P ALIGN="JUSTIFY"></HTML></P>
<P ALIGN="JUSTIFY"> </P>
<P ALIGN="JUSTIFY"> 這個active Server Pages也顯示計數器,不過這里面用的是圖片文件的顯示,當然, 你首先需要有1.gif,2.gif,3.gif</FONT><FONT SIZE=3>…</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>9.gif,0.gif這樣10個圖片文件來顯示10個數字。其中ShowImageCnt子程序就是取出每一個數字然后找到相應圖片文件顯示出來,由于程序相當簡單,不做過多解釋。這些顯示數字的圖片文件可以在很多地方自由下載,當然也可以自己去創作。</P>
<B><P ALIGN="JUSTIFY"> </P>
</FONT><FONT FACE="宋體" LANG="ZH-CN"><P ALIGN="JUSTIFY">Page Counter組件</P>
</B></FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3><P ALIGN="JUSTIFY"> 從名稱上看似乎和前者沒有什么區別,不過它的目的更加單一,是顯示該頁面打開次數。</P>
<P ALIGN="JUSTIFY"> </P>
<B><P ALIGN="JUSTIFY">注意</P>
</B><P ALIGN="JUSTIFY"> 早期版本的Active Server Pages和IIS均不提供該組件,那么可以在 http://www.microsoft.com/iis下面進行下載。</P>
<P ALIGN="JUSTIFY"> </P>
<P ALIGN="JUSTIFY"> Page Counter組件比上一個小節的Counter組件簡單很多,它除了對頁面點擊次數進 行統計之外別無所用。下面是該組件的兩個方法。</P>
<P ALIGN="JUSTIFY">■Hits(Path)返回限定頁面的點擊次數,如果沒有提供參數,則默認為當前頁</P>
<P ALIGN="JUSTIFY">■Reset(path)將該頁面點擊次數重置為0。</P>
<P ALIGN="JUSTIFY"> </P>
<P ALIGN="JUSTIFY"> 和Counter組件不同的是,你不需要在Global.asa中進行什么變動,只是需要在要進行調用的頁面上創建該事例,然后使用就可以了。</P>
<P ALIGN="JUSTIFY">下面這個例子:</P>
<P ALIGN="JUSTIFY"> </P>
<P ALIGN="JUSTIFY"><HTML></P>
<P ALIGN="JUSTIFY"><HEAD><TITLE>頁面計數器示例</TITLE></HEAD></P>
<P ALIGN="JUSTIFY"><BODY></P>
<P ALIGN="JUSTIFY"><%</P>
<P ALIGN="JUSTIFY">Set MyHits=Server.CreateObject(</FONT><FONT SIZE=3>“</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>MSWC.PageCounter</FONT><FONT SIZE=3>”</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>)</P>
<P ALIGN="JUSTIFY">%></P>
<P ALIGN="JUSTIFY">這個頁面被訪問了<%=MyHits.hits %>次</P>
<P ALIGN="JUSTIFY"></Body></P>
<P ALIGN="JUSTIFY"></HTML></P>
<P ALIGN="JUSTIFY"> </P>
<P ALIGN="JUSTIFY"> 這種調用過程極為簡單,并顯示該頁被打開次數,請注意這里面的hits方法沒有調用參數,因為是當前頁的計數值。</P>
<B><P ALIGN="JUSTIFY"> </P>
</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=5><P ALIGN="JUSTIFY">總結</P>
</B></FONT><I><FONT SIZE=3><P ALIGN="JUSTIFY"> </FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>本章開始介紹如何進行隨機廣告的處理,然后是隨機內容的顯示,最后介紹計數器應用的兩個組件,相信對讀者進行自己網站設計有所助益。</P></I></FONT></BODY>
</HTML>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -