防刷新计数器

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()) ,半小时后失效.
 

    A+
发布日期:2008年02月29日  所属分类:未分类

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: