编写“公平”的ASP图形计数器

2018-09-06 13:19

阅读:587

  “技术天地”中的《编写ASP图形计数器》一文,详细的说明了如何利用流行的ASP来编写计数器。但是,美中不足的是,如果某个用户反复点击“刷新”按钮,那么计数器还是要不断的增加的,这对网站点击率评比来说是不公平的,也失去了计数器做为正常统计功能的作用。如何在技术上避免这种情况的发生呢?
我认为要防止上网用户连续按下“刷新”计数器也连续增加的问题,最好的办法就是利用ASP的Session对象,我们可以借助Session对象首先判断该用户是否为新连接者,如果是,那么

IsEmpty(Session(hasbeenConnected))=True,也就是说,Session(hasbeenConnected)是空的。那么,运行程序,使计数器加1,然后将该用户的Session(hasbeenConnected)设置为True,也就是说,这个用户已经不是新的连接者,无论他怎么连续按下“刷新”按钮,计数器也不会再增加。

结合《编写ASP图形计数器》一文,最后的站点计数器的源程序应该是:



……


<%dim tms,counter,countlen
dim images(20)

If IsEmpty(Session(hasbeenConnected)) then
set rs=server.createobject(adodb.recordset)
application.lock
rs.open updateaspcount set countss=countss+1,dsn=userdbs,3,3
application.unlock
Session(hasbeenConnected)=True
End If
set rs=server.createobject(adodb.recordset)
rs.open select * from aspcount,dsn=userdbs,3,3
rs.movefirst
counter=rs(0)
countlen=len(counter)

response.write(tms)
for i=1 to countlen

next
response.write images(1)images(2)images(3)images(4)images(5)images(6)images(7)
rs.Close
%>




评论


亲,登录后才可以留言!