求助!使用全局文件统计用户在线时间所碰到的问题!(百思不得其解)

sspanzervor 2008-03-27 03:36:43
代码如下:
Sub Session_OnStart
'Application("online")=Application("online")+1
if request.cookies("UserID")<>"" then
session("StartTime")=now()
end if
End Sub

Sub Session_OnEnd
on error resume next
'Application("online")=Application("online")-1
if request.cookies("UserID")<>"" then
datStartTime=session("StartTime")
datEndTime=DateAdd("n",-20,Now())
intMinutes=DateDiff("n",datStartTime,datEndTime)
c_member_no=request.cookies("UserID")
response.write dateStartTime
if intMinutes>0 then
strSQL="insert into t_sessionLog(c_member_no,c_log_SessionEnd,c_log_SessionLength)" &_
" values ("&c_member_no&",#"&datStartTime&"#,"&intMinutes&")"
set conn=server.createobject("adodb.connection")
conn.open "dbq="&server.MapPath("bbs/forum.mdb")&"; driver={microsoft access driver (*.mdb)}"
conn.execute strSQL
set conn=nothing
end if
end if
End Sub

但是为什么我打开网页,然后在关闭王爷,数据库的记录一直为空呢?不管是停留的时间长短,数据库一直没有记录。想请教一下论坛的各位大虾是什么原因?小弟不胜感激!!!
...全文
151 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
sspanzervor 2008-03-27
  • 打赏
  • 举报
回复
但是为什么就是无法写入数据库呢?hookee前辈看这个程序有没有问题?
hookee 2008-03-27
  • 打赏
  • 举报
回复
20分钟是服务器端session超时的事,客户端不需要停留20分钟
sspanzervor 2008-03-27
  • 打赏
  • 举报
回复
实际上啊,这个是我在书里看到的例子,自己改了一下,但是为什么数据库老写不上东西啊。难道我打开的这个网站页面必须要停留20分钟以上吗?轻各位赐教。
hookee 2008-03-27
  • 打赏
  • 举报
回复
最好是不要保存在session中,session_onend什么时候被触发时没办法控制的
可以在用户登录的时候就把信息存在数据库表online中(或缓存)
当用户访问一次就修改一次last_datetime
做一个服务或sql作业,每隔几分钟查询数据库(或缓存),
如果last_datetime和Now比较超出了一段时间就认为断线
则,从online中删除记录,并计算在线时间更改相关表。
wpjwll 2008-03-27
  • 打赏
  • 举报
回复
up
njtongfei 2008-03-27
  • 打赏
  • 举报
回复
获取cookies里面的ID 插入数据库
Request.Cookies("ID")
sspanzervor 2008-03-27
  • 打赏
  • 举报
回复
但是这样我如果要往数据库里写入在cookies中储存的用户ID,应该怎么办呢?
hookee 2008-03-27
  • 打赏
  • 举报
回复
c_member_no=request.cookies("UserID")
response.write dateStartTime
这两句在session超时的时候没有用吧, 此时没有当前用户了
默认情况下,session_onend是以匿名用户的身份运行的

28,409

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧