“在线访客”的制作方法

2018-09-06 12:25

阅读:452

  作者:旭旭(07idea)
时间:2003-01-30

  
======制作原理======

  方法就是当用户访问网页时将用户的信息添加进数据库里
在添加的同时,检查数据库里是否有该用户的在线记录,如
果有,则更新该记录,如果没有就把他添加进数据库.
并删除在指定时间内没有活动的在线记录.(大概就是这样吧!)

  ======数据表设计=======

  新建一个数据表,名为Online
删除自动编号字段
建立以下字段
字段名:ID类型:数字
字段名:GUESTNAME类型:文本
字段名:STATS类型:文本
字段名:VISITIME类型:日期/时间
字段名:OUTIME类型:日期/时间

  
=======================以下部分源码,供参考,如果写得不好,欢迎指正=======================

  <%
subactiveonline()

  dimip

  ////删除180秒内不活动的在线记录.
sql=DeleteFROMonlineWHEREDATEDIFF(s,outime,now())>180
Conn.Executesql

  ifstats=then//如果stats的值为空,则显示为
stats=不知在做什么?
else
stats=stats
endif

  IP=replace(Request.ServerVariables(REMOTE_HOST),.,)////获取IP并消去IP中的.

  ////检查Online表中是否已有这个IP的记录

  sql=selectidfromonlinewhereid=ip
setrs=conn.execute(sql)

  ifrs.eoforrs.bofthen////如果没有该IP记录则添加在线记录

  sql=insertintoonline(id,guestname,stats,visitime,outime)values(ip,游客,stats,Now(),Now())

  else////如果Online表中已有该IP记录则更新该记录

  sql=updateonlinesetoutime=Now(),stats=stats,guestname=游客whereid=ip

  endif
conn.execute(sql)

  endsub
%>
==========================实例===========================
将以上代码修改并保存为Online.asp嵌入在各网页的尾部

  <%

  dimconn
dimconnstr
onerrorresumenext
connstr=DBQ=+server.mappath(数据库名称.mdb)+;DefaultDir=;DRIVER={Microsoftaccess(小型网站之最爱)Driver(*.mdb)};
conn.openconnstr
保存为conn.asp文件
%>

  <!--#INCLUDEFILE=conn.asp-->
<%

  dimstats

  stats=查看在线

  callactiveonline()

  
Setrs=Server.CreateObject(ADODB.Recordset)
sql=SELECTId,GuestName,Stats,Visitime,OutimeFROMOnlineORDERBYVisitimeDesc
rs.opensql,conn,1,3

  total=rs.RecordCount

  %>
<tableborder=1cellpadding=2cellspacing=0style=border-collapse:collapsebordercolor=#111111width=100%height=53>
<tr>
<tdwidth=20%height=16align=center>昵称</td>
<tdwidth=20%height=16align=center>动作</td>
<tdwidth=20%height=16align=center>来访</td>
<tdwidth=20%height=16align=center>最后活动</td>


评论


亲,登录后才可以留言!