关于Dreamweaver计数器的一个问题
请问我这个计数器为什么一刷新,次数就+2啊,这样得到的数据信息也不准确啊!!请高手指教,谢谢!!代码如下(含注释);<%CountFile=Server.MapPath(...
请问我这个计数器为什么一刷新,次数就+2啊,这样得到的数据信息也不准确啊!!请高手指教,谢谢!!
代码如下(含注释);
<%
CountFile=Server.MapPath("simplecounter.txt")
'文件aspconter.txt是用来储存数字的文本文件,初始内容一般是0
Set FileObject=Server.CreateObject("Scripting.FileSystemObject")
Set Out=FileObject.OpenTextFile(CountFile,1,FALSE,FALSE)
counter=Out.ReadLine
'读取计数器文件中的值
Out.Close
'关闭文件
SET FileObject=Server.CreateObject("Scripting.FileSystemObject")
Set Out=FileObject.CreateTextFile(CountFile,TRUE,FALSE)
Application.lock
'方法Application.lock禁止别的用户更改计数器的值
counter= counter + 1
'计数器的值增加1
Out.WriteLine(counter)
'把新的计数器值写入文件
Application.unlock
'使用方法Application.unlock后,允许别的用户更改计数器的值
Response.Write("您是第")
Response.Write("<font color=red>")
Response.Write(counter)
'把计数器的值传送到浏览器,以红(red)色显示给用户
Response.Write("</font>")
Response.Write("位访问者")
Out.Close
'关闭文件
%>
有朋友告诉我说可以加上IP限制,让每个IP访问每天只算1次,请问怎么弄啊,有没有代码的??
谢谢 展开
代码如下(含注释);
<%
CountFile=Server.MapPath("simplecounter.txt")
'文件aspconter.txt是用来储存数字的文本文件,初始内容一般是0
Set FileObject=Server.CreateObject("Scripting.FileSystemObject")
Set Out=FileObject.OpenTextFile(CountFile,1,FALSE,FALSE)
counter=Out.ReadLine
'读取计数器文件中的值
Out.Close
'关闭文件
SET FileObject=Server.CreateObject("Scripting.FileSystemObject")
Set Out=FileObject.CreateTextFile(CountFile,TRUE,FALSE)
Application.lock
'方法Application.lock禁止别的用户更改计数器的值
counter= counter + 1
'计数器的值增加1
Out.WriteLine(counter)
'把新的计数器值写入文件
Application.unlock
'使用方法Application.unlock后,允许别的用户更改计数器的值
Response.Write("您是第")
Response.Write("<font color=red>")
Response.Write(counter)
'把计数器的值传送到浏览器,以红(red)色显示给用户
Response.Write("</font>")
Response.Write("位访问者")
Out.Close
'关闭文件
%>
有朋友告诉我说可以加上IP限制,让每个IP访问每天只算1次,请问怎么弄啊,有没有代码的??
谢谢 展开
1个回答
展开全部
程序没有错误呀,可能是因为你把这些东西用到了框架中了,框架相当于同时访问两次页面~~~
不过,您最好使用Application+数据库做,如:
建立global.asa文件:
<script language="vbscript" runat="server">
Sub Application_OnStart
Application("online")=0
Application("pagenum")=0
End Sub
Sub Session_OnStart
Application.lock
Application("online")=Application("online")+1
Application("pagenum")=Application("pagenum")+1
Application.unlock
End Sub
Sub Session_OnEnd
Application.lock
Application("online")=Application("online")-1
Application.unlock
End Sub
Sub Application_OnEnd
Application.contents.RemoveAll()
End Sub
</script>
其它只须要读取就可以啦
如当前在线数:Application("online")
总数:Application("pagenum")
然后把这些值相应的写入到数据库中,其它的,可以自己再试试~~~
不过,您最好使用Application+数据库做,如:
建立global.asa文件:
<script language="vbscript" runat="server">
Sub Application_OnStart
Application("online")=0
Application("pagenum")=0
End Sub
Sub Session_OnStart
Application.lock
Application("online")=Application("online")+1
Application("pagenum")=Application("pagenum")+1
Application.unlock
End Sub
Sub Session_OnEnd
Application.lock
Application("online")=Application("online")-1
Application.unlock
End Sub
Sub Application_OnEnd
Application.contents.RemoveAll()
End Sub
</script>
其它只须要读取就可以啦
如当前在线数:Application("online")
总数:Application("pagenum")
然后把这些值相应的写入到数据库中,其它的,可以自己再试试~~~
参考资料: http://www.flashmayi.com
AiPPT
2024-09-19 广告
2024-09-19 广告
随着AI技术的飞速发展,如今市面上涌现了许多实用易操作的AI生成工具1、简介:AiPPT: 这款AI工具智能理解用户输入的主题,提供“AI智能生成”和“导入本地大纲”的选项,生成的PPT内容丰富多样,可自由编辑和添加元素,图表类型包括柱状图...
点击进入详情页
本回答由AiPPT提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询