“在线访客”的制作方法
2008-02-23 09:28:11来源:互联网 阅读 ()
方法就是当用户访问网页时将用户的信息添加进数据库里
在添加的同时,检查数据库里是否有该用户的在线记录,如
果有,则更新该记录,如果没有就把他添加进数据库.
并删除在指定时间内没有活动的在线记录.(大概就是这样吧!)
======数据表设计=======
新建一个数据表,名为"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" -->
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:检测含有中文字符串的实际长度
下一篇:ASP项目中的公共翻页模块
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash