防刷新计数器

发布时间:2008-02-29 16:02:00 阅读:1285次

1、counter1.asp

<!--#include file="conn.asp"-->
<%
set rs=server.CreateObject("Adodb.recordset")
rs.open "Select *from story where id=1",cn,1,2
if session("counter")<>1 then
rs("hit")=rs("hit")+1
rs.update
session("counter")=1
end if
hit=rs("hit")
%>
该网页被访问<%=hit%>次,另做一个文件abandon.asp,刷新这个这个文件,那么counter.asp这个文件计数.

abandon.asp

<%
session("counter")=2
%>

 

2、

counter2.asp

<% 
count=server.mappath("count.txt")
set con=server.createobject("scripting.filesystemobject")
set out=con.opentextfile(count,1,false,false)
counter=out.readline
out.close
if session("in")<> 1 then
session("in")=1
set out =con.createtextfile(count,true,false)
application.lock
counter=counter+1
out.writeline(counter)
application.unlock
out.close
end if
response.write ""&counter&""
%>

3、counter3.asp

<!--#include file="conn.asp"-->
<%
set rs=server.CreateObject("Adodb.recordset")
rs.open "Select *from story where id=1",cn,1,2
if session("counter")<>1 then
rs("hit")=rs("hit")+1
rs.update
session("counter")=1
end if
hit=rs("hit")
%>
该网页被访问<%=hit%>次


<%
set rs=server.CreateObject("Adodb.recordset")
rs.open "Select *from story where id=1",cn,1,2
varnum=request.Cookies("varnum")
if varnum="" then
rs("hit")=rs("hit")+1
rs.update
varnum=1
end if
hit=rs("hit")
response.write "你是第"&hit&"次访问该网页!"
response.cookies("varnum")=varnum
response.cookies("varnum").expires=#2008-4-10#
%>

 

'不防刷新

<%
varnum=request.Cookies("varnum")
if varnum="" then
varnum=1
else
varnum=varnum+1
end if
response.write "你是第"&varnum&"次访问该网页!"
response.cookies("varnum")=varnum
response.cookies("varnum").expires=#2008-4-10#
%>

 这只是针对一个文件,如果后面跟有参数,如.asp?id=**

则首先判断设为cookies或session的变量是否等于request("id"),接着赋值为request("id")

例如:cookies

varnum=request.Cookies("varnum")
if varnum<>request("id") then
rs("hit")=rs("hit")+1
varnum=request("id")
end if

如果参数不同,那么上次访问的再访问又会计数,以下更完美

varnum=request.Cookies("varnum"&request("id"))
if varnum<>request("id") then
rs("hit")=rs("hit")+1
varnum=request("id")
end if

设置Cookies生命

response.Cookies("varnum"&request("id")).expires=DateAdd("s",1800,now()) ,半小时后失效.
 

如有问题,可以QQ搜索群1028468525加入群聊,欢迎一起研究技术

支付宝 微信

有疑问联系站长,请联系QQ:QQ咨询
下一篇:ASP随机数

转载请注明:防刷新计数器 出自老鄢博客 | 欢迎分享