|
![]() |
名片设计 CorelDRAW Illustrator AuotoCAD Painter 其他软件 Photoshop Fireworks Flash |
|
======制作原理====== 方式就是当用户访问网页时将用户的信息添加进数据库里 在添加的同时,检查数据库里是否有该用户的在线记录,如 果有,则更新该记录,假如没有就把他添加进数据库. 并删除在指定时间内没有活动的在线记录.(大概就是这样吧!) ======数据表设计======= 新建一个数据表,名为"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" --> 写得不好,见笑了.假如你有更好的方式就献上来吧,大家互相学习嘛! 返回类别: 教程 上一教程: ASP入门-微软版笔记 下一教程: XMLHTTP+JAVASCRIPT+ASP写得聊天室,无刷新实现(五) 您可以阅读与"“在线访客”的制作方式"相关的教程: · 会员系统“找回密码”的制作方式 · 彩色校验码的制作方式 · 词语搭配游戏的制作(ASP)二 · asp+版本简朴的留言板的制作(二) · 词语搭配游戏的制作(ASP)一 |
![]() ![]() |
快精灵印艺坊 版权所有 |
首页![]() ![]() ![]() ![]() ![]() ![]() ![]() |