2.普遍做法,用几分钟不动删除
3.这个好像靠一个gloas.asa的文件,找找聊天室的源码
4.好像也是靠上面的文件
Private Sub Online()'Online列表
Dim rs,sql
'set rs=server.createobject("adodb.recordset")
if isempty(login_id) then
set rs=conn.execute("Select top 1 Online_id From JoySou_Online where Online_id='"&visitor&"'")
DataBaseNum=DataBaseNum+1
if rs.eof then
rs.close
stat()
else
rs.close
Conn.execute("Update JoySou_Online set Online_lasttime='"&timenow&"',Online_lastpage='"&page_title&"' where Online_id='"&visitor&"'")
DataBaseNum=DataBaseNum+1
end if
Else
Conn.execute("Update JoySou_User set User_Logins=User_Logins+1 where user_id="&login_id)
'登陆次数增加
set rs=conn.execute("Select top 1 Online_id From JoySou_Online where Online_userid="&login_id)
if rs.eof then
rs.close
stat()
conn.execute("insert into JoySou_Online (Online_id,Online_name,Online_group,Online_addtime,Online_lasttime,"& _
"Online_lastpage,Online_hidden,Online_userid,Online_ip,Online_os,Online_soft,Online_address) values('"&visitor&"','"&login_username&"','"&login_power&"','"&timenow&"','"&timenow&"',"& _
"'"&page_title&"',0,"&login_id&",'"&getip()&"','"&os&"','"&soft&"','"&address(0)&" - "&address(1)&"')")
DataBaseNum=DataBaseNum+1
SetCache "UserOnline",GetCache("UserOnline")+1
else
Conn.execute("Update JoySou_Online set Online_lasttime='"&timenow&"',Online_lastpage='"&page_title&"' where Online_userid="&login_id)
DataBaseNum=DataBaseNum+1
end if
end if
dim useronline,visitoronline
sql="Delete From JoySou_online where online_userid=0 and Datediff('s',Online_lasttime,'"&timenow&"') > 20*60"
conn.execute sql,visitoronline
sql="Delete From JoySou_online where online_userid>0 and Datediff('s',Online_lasttime,'"&timenow&"') > 20*60"
conn.execute sql,useronline
DataBaseNum=DataBaseNum+2
if visitoronline>0 then
SetCache "VisitorOnline",GetCache("VisitorOnline")-visitoronline
end if
if UserOnline>0 then
SetCache "UserOnline",GetCache("UserOnline")-UserOnline
end if
End sub
自己大体看看好了,很乱的说..