页面计数器 (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")+1 if Session("counter")>1 then a="1.asp" response.write "您已经投过票了。谢谢!" else a="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 Singer Case "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入门基础"教程>>>>> (责任编辑:admin) |