这个离开页面操作该如何写?

6star 2002-11-06 02:08:44
我想在用户离开页面(包含seesion超时)后记录其离开时间,
并把此时间写入到数据库中去,该如何操作?在global.asa中写么,
该如何写?
或者用户直接关闭窗口,是否用unload操作,如何写?谢谢!!
...全文
44 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
6star 2002-11-08
  • 打赏
  • 举报
回复
outtime是datetime类型啊,我想这个应该没错,在用户正常离线的时候就是这么操作的。
LoneHome 2002-11-08
  • 打赏
  • 举报
回复
支持老梅。楼主,你的outtime字段是什么类型,

outtime='"&now()&"'

可能是“'”的问题。
6star 2002-11-08
  • 打赏
  • 举报
回复
我在session_onend()中是这样写的:
sub session_onend()
set conn2=server.CreateObject("adodb.connection")
conn2.Open "Provider=SQLOLEDB.1;Password=111;Persist Security Info=True;User ID=netfan;Initial Catalog=birdxx;Data Source=netfan"
str="update userlog set outtime='"&now()&"' where userid='"&session("userid")&"'and outtime is null"
dim rs2
set rs2=server.CreateObject("adodb.recordset")
rs2.Open str,conn,1,3
rs2.Close
set rs2=nothing
conn2.Close
set conn2=nothing
end sub

但测试以后(使操作超时)发现数据库中的outtime数据还是null
hndllx 2002-11-08
  • 打赏
  • 举报
回复
up
meizz 2002-11-07
  • 打赏
  • 举报
回复
在session_onend事件里,session还有效,所以你可以根据这个信息操作数据库.
在关闭页面时调用onunload事件来处理: onunload这是一个客户端事件,在关闭与刷新页面时都会产生,若用户只是关闭访问你网站中的某一个页面或者刷新时,你就将它的session销掉,这也太过于霸道了点.
huangyq 2002-11-07
  • 打赏
  • 举报
回复
Up
6star 2002-11-06
  • 打赏
  • 举报
回复
有人帮忙么?
6star 2002-11-06
  • 打赏
  • 举报
回复
我的意思是如果session已经失效,如何对特定的那个用户的离开时间字段进行操作?因为无法取得用户名等信息了啊。
6star 2002-11-06
  • 打赏
  • 举报
回复
对应你的第二个回答,好像有点勉强,我记得在直接关闭页面的时候,
可以调用函数unload来记录啊?
那如何在session.end里面对数据库的表单进行操作?
meizz 2002-11-06
  • 打赏
  • 举报
回复
分二种情况来写:
1. 正常退出;指按退出按钮退出的, 这时你直接记录他的退出时间即可.
2. 非正常退出; 指用户关闭浏览器,或者网络断开等.你在global.asa里的session_onend事件里先得到当前时间,再减去session的过期时间,这个时间我们就认为是他的退出时间了.

28,391

社区成员

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

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