| 广告招租,e-mail:yesize@hotmail.com
|
|
广告招租,e-mail:yesize@hotmail.com
======制作原理======方法就是当用户访问网页时将用户的信息添加进数据库里 在添加的同时,检查数据库里是否有该用户的在线记录,如 果有,则更新该记录,如果没有就把他添加进数据库. 并删除在指定时间内没有活动的在线记录.(大概就是这样吧!) ======数据表设计======= 新建一个数据表,名为Online 删除自动编号字段 建立以下字段 字段名:ID 类型:数字 字段名:GUESTNAME 类型:文本 字段名:STATS 类型:文本 字段名:VISITIME 类型:日期/时间 字段名:OUTIME 类型:日期/时间 =======================以下部分源码,供参考,如果写得不好,欢迎指正=======================
<% sub activeonline() dim ip ////删除180秒内不活动的在线记录. sql=Delete FROM online WHERE DATEDIFF(s,outime,now())>180 Conn.Execute sql if stats= then//如果stats的值为空,则显示为 stats=不知在做什么? else stats=stats end if IP=replace(Request.ServerVariables(REMOTE_HOST),.,)////获取IP并消去IP中的. ////检查Online表中是否已有这个IP的记录 sql=select id from online where id=&ip& set rs=conn.execute(sql) if rs.eof or rs.bof then////如果没有该IP记录则添加在线记录 sql=insert into online(id,guestname,stats,visitime,outime) values (&ip&,游客,&stats&,Now(),Now()) else////如果Online表中已有该IP记录则更新该记录 sql=update online set outime=Now(),stats=&stats&,guestname=游客 where id=&ip& end if conn.execute(sql) end sub %> ==========================实例=========================== 将以上代码修改并保存为Online.asp嵌入在各网页的尾部 <% dim conn dim connstr on error resume next connstr=DBQ=+server.mappath(数据库名称.mdb)+;DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)}; set conn=server.createobject(ADODB.CONNECTION) conn.open connstr 保存为conn.asp文件 %> <!--#INCLUDE FILE=conn.asp --> <% dim stats stats=查看在线 call activeonline() Set rs = Server.CreateObject(ADODB.Recordset) sql=SELECT Id,GuestName,Stats,Visitime,Outime FROM Online ORDER BY Visitime Desc rs.open sql,conn,1,3
total=rs.RecordCount %> <table border=1 cellpadding=2 cellspacing=0 style=border-collapse: collapse bordercolor=#111111 width=100% height=53> <tr> <td width=20% height=16 align=center>昵称</td> <td width=20% height=16 align=center>动作</td> <td width=20% height=16 align=center>来访</td> <td width=20% height=16 align=center>最后活动</td> </tr> <%do while not rs.eof%> <tr> <td width=20% height=28 align=center><%=rs(1)%></td> <td width=20% height=28 align=center><%=rs(2)%></td> <td width=20% height=28 align=center><%=rs(3)%></td> <td width=20% height=28 align=center><%=rs(4)%></td> </tr> <% rs.movenext loop %> </table> 在线人数:<%=total%> <% rs.close set rs=nothing %><!--#INCLUDE FILE=Online.asp --> 写得不好,见笑了.如果你有更好的方法就献上来吧,大家互相学习嘛!
版权说明:作品来源于网上,版权归作者所有,如果无意中侵犯了您的版权,请来信告知,本站将在3个工作日内删除。yesize@hotmail.com |
|