页面计数器 (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>
Word教程网 | Excel教程网 | Dreamweaver教程网 | Fireworks教程网 | PPT教程网 | FLASH教程网 | PS教程网 |
HTML教程网 | DIV CSS教程网 | FLASH AS教程网 | ACCESS教程网 | SQL SERVER教程网 | C语言教程网 | JAVASCRIPT教程网 |
ASP教程网 | ASP.NET教程网 | CorelDraw教程网 |