页面计数器 (Page Counter) 组件用于统计每个网页被访问的次数,该组件定期把统计的数据存入服务器磁盘上的一个文本文件---------访问次数统计数据文件中,所以在停机或出现错误信息时,当前数据也不会丢失。
1、创建页面计数器组件的实例对象
页面计数器组件包含在 pagecnt.dll 文件中。当使用 Server.CreatObject 方法在一页上创建页面计数器组件对象的实例时,此对象从中心管理对象中为指定的 Web 页获取其当前的访问次数,然后就可以使用此对象已有的方法来操作了。语法格式如下:Set 实例对象名=Server.CreateObject("MSWC.PageCounter")
2、Page Counter 对象的方法
Page Counter 对象提供了向“访问次数统计数据文件”增加访问次数的方法以及读取和重新设置访问计数总和的方法。各方法的描述见下表:方
法
描
述
语
法
格
式
Hits
返回由 Page_Path 指定的网页的访问次数,如果省略 Page_Path,返回当前网页的访问次数。
Object.Hits([Page_Path])
PageHite
增加当前网页的访问次数。
Object.PageHit
Reset
设置由Page_Path 指定的网页的访问次数为0,如果省略Page_Path,设置当前网页的访问次数为0。
Reset([Page_Path])
3、实例1:使用页面计数器组件创建网页计数器。
-------------------PageCounter.asp 代码如下----------------------<%Set MyPageCounter=Server.CreateObject("MSWC.PageCounter")
'创建 PageCounter 对象实例。MyPageCounter.PageHit
'增加此网页的计数器值。if Request("reset")="on" then
'是否提交重置信息。MyPageCounter.Reset()
'重置此网页的计数器。end if%><html><head><title>页面计数器示例</title></head><body><p><center><b><font face="华文彩云" size="50" color="#cc9999">这个Web 页被浏览了<%=MyPageCounter.Hits %>次。</font></b></center></p><center><Form name="PageCounter" method="get" action="PageCounter.asp"><input type="Submit" value="点击网页"><input type="checkbox" name="reset">重置网页计数器</center></form></body></html>
计数器组件(Counters) 用于创建一个 Counters 对象实例。在一个 Web 站点上仅创建一个 Counters 对象,通过该对象可以创建任意数量的独立计数器。计数器是一个包含整数的持续值,可以使用计数器组件的方法来控制计数器。
1、创建计数器组件的实例对象
计数器组件包含在 Counters.dll 文件中,通过该组件创建的所有计数器都存储在一个名为 Counters.txt 的文本文件中。如果将下面的内容加入到应用程序的 global.asa 文件中,可以在 Web 服务器上一次性创建 Counters 对象的实例。<OBJECT RUNAT="Server" SCOPE="Application" ID="Counter" PROGID="MSWC.Counters"></OBJECT>
一旦创建了计数器对象,它将一直持续下去直到被删除为止,可以在整个应用程序范围内使用该对象的方法对计数器进行控制。例如,如果在一个名为 Page1.asp 的页上显示和增加一个叫做 HitCount 的计数器的值,而又在一个叫做 Page2.asp 的页上增加 HitCount 的值则两页将增加同一计数器的值。如果访问 Page1.asp 时,计数器的值增加到34,则访问 Page2.asp 会将 HitCount 增加到35,下一次访问 Page1.asp ,HitCount 将增加到36。
2、Counters 对象的方法
创建一个计数器对象之后,可以使用该对象的方法返回计数器的值,使计数器的值加1,从 counters.txt 文件中删除计数器以及将计数器的值设为一个特定的整数。各方法的描述见下表:方
法
描
述
语
法
格
式
Get
该方法根据计数器的名称返回其当前值,如果此计数器不存在,则该方法创建它并将其置加0。
Counters.Get(CounterName)
Increment
该方法根据计数器的名称,将该计数器的值加 1 并返回计数器的新值。如果该计数器不存在,此方法将创建它并将其值设为1。
Counters.Increment(CounterName)
Remove
该方法根据计数器的名称从计数器对象和 counters.txt 文件中删除计数器。
Counters.Remove(CounterName)
Set
该方法根据计数器的名称,将计数器设置为一个指定的整数值并返回此新值。如果该计数器不存在,此方法创建计数器并将其值设为这个整数。
Counters.Set(CounterName,int)
注:参数 CounterName 是一个字符串,用于指定计数器的名称。参数 int 指定该计数器的新整数值。
3、实例1:使用计数器组件设计一个对歌手投票的记票系统。
-------------------global.asa 代码如下----------------------
'通过<OBJECT>在 Web 服务器上一次性创建一个 Counters 对象。<OBJECT RUNAT="Server" SCOPE="Application" ID="Counters" PROGID="MSWC.Counters"></OBJECT>
-------------------提交表单1.asp 代码如下----------------------<HTML><HEAD><TITLE>选出您最喜欢的歌手</TITLE><%Session("counter")=Session("counter")+1if Session("counter")>1 thena="1.asp"response.write "您已经投过票了。谢谢!"elsea="2.asp"end if%></HEAD><BODY><Form NAME="Form1" METHOD="POST" action=<%=a %>><P><CENTER>从下列候选人中选择一个您最喜欢的歌手<hr width="70%" color="#cc9999"><p><input type="radio" name="singer" value="a">小郎 <input type="radio" name="singer" value="b">冬天 <input type="radio" name="singer" value="c">一笑 <input type="radio" name="singer" value="d">焉然 <input type="submit" name="submit1" value="提交"></center></form></body></html>
-------------------统计票数2.asp 代码如下----------------------<% @ language="VBScript" %><html><head><title>投票结果统计</title></head><body><%Singer=Request.Form("singer")select case SingerCase "a"Counters.Increment("aaaaCounter")Case "b"counters.Increment("bbbbCounter")Case "c"counters.Increment("ccccCounter")Case "d"Counters.Increment("ddddCounter")end select%><div align="center"><h3>当前投票结果如下:</h3><hr width="50%" color="#cc9999"><p>aaaa得票数:<%=counters.Get("aaaaCounter") %><p>bbbb得票数:<%=counters.Get("bbbbCounter") %><p>cccc得票数:<%=counters.Get("ccccCounter") %><p>dddd得票数:<%=counters.Get("ddddCounter") %><p><p><a href="1.asp">返回上一页</a></div></body></html>
查看全套"ASP入门基础"教程>>>>>