ASP 统计用户在线时间

原理:每个网页都包含conn.asp数据库连接页,所以把要统计的放到这个页比较好。
这样只要你打开网页,那么这个网页上就有一个隐藏的定时刷新的iframe,这个页定时的把用户的在线状态写在表里,以达到统计时间的目的

conn.asp每个页都有,所以把这个隐藏iframe加到这里
<iframe name="Detail" id="Detail" frameborder="0" hspace="0" vspace="0" src="refresh.asp" style="display:none"></iframe>

refresh.asp是定时刷新页,

<META http-equiv=refresh content=300>
<META http-equiv=Pragma content=no-cache>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<%
if session("username")<>"" then
 if session("refreshtimes")<>"" then
  if  datedIff("n",session("refreshtimes"),Now())>1 then
   '*********************************************************************
   SqlDbHost="127.0.0.1"  '修改实际的数据库服务器地址
   SqlDbName="SqlDbName"  '修改为实际的数据库名
   SqlUserName="SqlUserName"  '修改为实际的数据库用户名
   SqlUserPass="SqlUserPass" '修改为实际的数据库密码
   '*********************************************************************
   Set conn = Server.CreateObject("ADODB.Connection")
   connstr="Provider=SQLOLEDB.1; Persist Security Info=True; Data Source=" & SqlDbHost & "; Initial Catalog="&SqlDbName&"; User ID="&SqlUserName&"; Password=" & SqlUserPass
   conn.Open connstr
   conn.execute("update users set OnlineTimes=OnlineTimes + "&datedIff("n",session("refreshtimes"),Now())&" where username='"&session("username")&"'")
   session("refreshtimes")=Now()
  end if
 else
 session("refreshtimes")=Now()
 end if
end if


%>

 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值