ASP计数器问题

程序1:<%dimconnSetConn=Server.CreateObject("ADODB.Connection")Conn.Open"DRIVER={Microso... 程序1:

<%
dim conn
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("count.mdb")
dim visiter 'visiter=访问人数
dim sql
dim rs
dim LastVisit '上次访问时间
dim chaVisit '实际两次访问时间差
dim xiangge
dim count
dim countlen
dim i
xiangge=300 '限定的访问时间差,以秒为记时
sql="select visiter from visiter"
set rs=conn.execute(sql)
count=rs("visiter")
CountLen=len(count)
if countlen<6 then
for i=1 to 6-countLen
response.write "0"
next
end if
response.write count
LastVisit = Request.Cookies("LastVisitCookie")
if LastVisit = "" then
sql="update visiter set visiter=visiter+1"
set rs=conn.execute(sql)
Response.Cookies("LastVisitCookie") = FormatDateTime(NOW)
else
chaVisit=DateDiff("s",LastVisit,Now())
if chavisit>xiangge then
sql="update visiter set visiter=visiter+1"
set rs=conn.execute(sql)
Response.Cookies("LastVisitCookie") = FormatDateTime(NOW)
end if
end if
conn.close
set conn=nothing
%>

此段代码配合count.mdb文件可以运行,但是运行出现问题,即无法实现数字自动更新,需要按刷新按钮后,才能使访问数字增加。请教出了什么问题?

代码2:
<%
Set FileObject = Server.CreateObject("Scripting.FileSystemObject")
Dir = Request.ServerVariables("SCRIPT_NAME")
Dir = StrReverse(Dir)
Dir = Mid(Dir, InStr(1, Dir, "/"))
Dir = StrReverse(Dir)
HitsFile = Server.MapPath(Dir) & "\hits.txt"

On Error Resume Next
Set InStream= FileObject.OpenTextFile (HitsFile, 1, false )
OldHits = Trim(InStream.ReadLine)
NewHits = OldHits + 1
Set OutStream= FileObject.CreateTextFile (HitsFile, True)
OutStream.WriteLine(NewHits)
%>

您是第
<%
num=newhits
Response.Write num%>位客人

此代码配合hits.txt,可以运行,但刷新时会数字会不断增加,请问如何修改,才能解决?
请高手指教!多谢!
展开
 我来答
tiger224001
2005-12-28
知道答主
回答量:67
采纳率:0%
帮助的人:0
展开全部
1.可能是你设置的时间差太大了吧
2在开始加个aplication.lock
然后在后面在加个aplication.unlock
有个例子参考下
<%
Function Counts(CounterFile)
Dim objFSO, objTS
Application.Lock
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
Set objTS = objFSO.OpenTextFile(Server.MapPath(CounterFile), 1, True)
If Not objTS.AtEndOfStream Then '检查是否到达文件结尾
Counts = CLng(objTS.ReadLine)
End If
Counts = Counts + 1
objTS.Close

Set objTS = objFSO.OpenTextFile(Server.MapPath(CounterFile), 2, True)
objTS.WriteLine(Counts)
objTS.Close
Application.Unlock
End Function

If Session("Counter") = Empty Then
Session("Counter") = Counts("Counter.txt")
End If

%>
<HTML>
<BODY>
您是第 <%= Session("Counter") %> 位访客
</BODY>
</HTML>
AiPPT
2024-09-19 广告
随着AI技术的飞速发展,如今市面上涌现了许多实用易操作的AI生成工具1、简介:AiPPT: 这款AI工具智能理解用户输入的主题,提供“AI智能生成”和“导入本地大纲”的选项,生成的PPT内容丰富多样,可自由编辑和添加元素,图表类型包括柱状图... 点击进入详情页
本回答由AiPPT提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式