1。建立数据库表
表名为online
设如下字段
id '用来记录每一个访问都的session.sessionid
name '如果是访客,则记录为访客。
online '如果是访各为0 如果是会员1
datetime '最近活动时间
username '会员的登录用户名,访客为空。
ip '记录访问都的登录IP
head.asp '向数据库表写入在线人数,该页面必须搜入到每一个用于浏览ASP页面中。
<%
set rs=Server.CreateObject("ADODB.Recordset")
if session("username")="" then 判断用户未登录
sql="select * from online where id='"&session.sessionid&"' " '判断这个sessionid是否存在于数据库表中.
rs.Open sql,Conn,1,3
if rs.eof then '访客第一次浏览
rs.addnew
rs("id")=session.sessionID
rs("name")="游客"
rs("online")=0 '0表示用户未登陆,是游客身份
rs("datetime")=now()
userip = Request.ServerVariables("HTTP_X_FORWARDED_FOR")
If userip = "" Then
userip= Request.ServerVariables("REMOTE_ADDR")
end if
rs("ip")=userip
else '访客非第一次浏览
rs("datetime")=now() '更新活动时间
rs.update
rs.close
end if
else
sql="select * from online where id='" & session.sessionID & "' or admin='"&session("username")&"'" '判断sessionid 或者 用户名记录已存在数据表中。
rs.Open sql,Conn,1,3
if rs.eof then
rs.addnew '会员第一次进入网站(可能从网站首页直接登录进入论坛)。
rs("id")=session.sessionID
rs("name")=session("show") '写入用户昵称
rs("username")=session("username") '写入登录用户名
rs("online")=1 '表示用户已经登陆,是会员身份
rs("datetime")=now() '将当前系统时间设置为用户的登陆时间
userip = Request.ServerVariables("HTTP_X_FORWARDED_FOR")
If userip = "" Then
userip= Request.ServerVariables("REMOTE_ADDR")
end if
rs("ip")=userip
else //会员非第一次浏览网站,访客登录网站。
rs("name")=session("show") 更新用户昵称
rs("username")=session("username")
rs("online")=1 '表示用户已经登陆,是会员身份
rs("datetime")=now()
end if
rs.update
rs.close
end if
set rs=nothing
%>
conn.execute("delete from online where datediff('s',datetime,now())>60") '删除60秒没有活动的访客,时间可以自己调整。
ASP访问数量统计代码_应用技巧
时间: 2024-10-05 22:12:50
ASP访问数量统计代码_应用技巧的相关文章
asp下载防盗链代码_应用技巧
asp下载防盗链代码第一种: 终于对下载系统做了个防盗链措施,在下载的页面头部做了如下代码,相关代码如下: 复制代码 代码如下: <% From_url = Cstr(Request.ServerVariables("HTTP_REFERER")) Serv_url = Cstr(Request.ServerVariables("SERVER_NAME")) if mid(From_url,8,len(Serv_url)) <>
asp万用分页程序代码_应用技巧
这只是个asp小技巧类的东西,它虽然适合在每个不同文件名里调用这个函数,但是也是有前提的,下面让我们来仔细看看其中的原委. 下面这段是基本的分页代码: <% sql = "select--------省略了sql语句 Set rs=Server.Createobject("ADODB.RECORDSET") rs.Open sql, conn, 1, 1 if not rs.eof then pages = 30 '定义每页显示的记录数 rs.pageSize = pa
ASP连接数据库的全能代码_应用技巧
ASP连接数据库的全能代码 '解决了ACCESS数据库路径的问题! '采用DBType=0或DBType=1来区分AC库还是MSSQL库 '具体采用AC库时应注意的事项,请看程序说明 -------------------------------------------------------------------------------- Dim DBType,Conn,StrConn DBType=0 '0为Access数据库,1为MSSQL数据库 If(DBTy
Asp限制IP访问 阻止某一个IP段禁止访问本站的代码_应用技巧
复制代码 代码如下: <% ''获取访问者的地址 ip=Request.ServerVariables("REMOTE_ADDR") ''允许的IP地址段为10.0.0.0-10.68.63.255 allowip1="10.0.0.0" allowip2="10.68.10.71" response.writecheckip(ip,allowip1,allowip2) functioncheckip(ip,allowip1,allowip
通过ASP禁止指定IP和只允许指定IP访问网站的代码_应用技巧
一.禁止指定IP防问网站,并执行相应操作: 复制代码 代码如下: <% Dim IP,IPString,VisitIP '设置IP地址,用"|"隔开 IPString="|192.168.0.42|192.168.0.43|" '获取IP地址 IP = Request.ServerVariables("HTTP_X_FORWARDED_FOR") If IP = "" Then IP = Request.ServerVa
Asp下实现限制IP访问的程序代码_应用技巧
<% ''获取访问者的地址 ip=Request.ServerVariables("REMOTE_ADDR") ''允许的IP地址段为10.0.0.0-10.68.63.255 allowip1="10.0.0.0" allowip2="10.68.10.71" response.write checkip(ip,allowip1,allowip2) function checkip(ip,allowip1,allowip2) dim c
ASP.NET 高性能分页代码_实用技巧
最近给分页快搞死,记得之前曾经发过修改DW ASP分页的方法,后来又写过手工打造的ASP分页,现在进入.NET当然要配合存储过程打造纯手工高性能分页了. 为什么会叫做高性能,为什么要手工打造,不使用.NET现有的分页控件呢?这个还要追溯到我修改DW ASP分页的时候,那个我还不怎么懂程序这个东西,只会修修补补,就更不要去谈什么性能问题.当时改的很心烦,接着叫我的私人技术总监张总帮我看看,当时张总就以一种不屑一顾的眼神往着我,说了句话:值得吗? 接着到我手工打造ASP分页,又搞不下去了,张总丢给我
ASP XML操作类代码_应用技巧
复制代码 代码如下: Class XMLClass Private objXml Private xmlDoc Private xmlPath '//============================================================ ' Sub Class_initialize Set objXml = Server.CreateObject("MSXML2.DOMDocument") objXml.preserveWhiteSpace = tru
ASP 数字分页效果代码_应用技巧
最近网站改版正好发现原来的分页不带数字的,只有首页 上页 下页 末页 然后是select的跳转,都是以前比较流行的,而现在比较流行的是数字分页在中间,正好研究并分享下,需要的朋友可以参考下 效果: 国外的核心代码: 复制代码 代码如下: <% 'digg style pagination script in asp.. written by Moazam... http://www.moazam.com/2007/03/30/asp-digg-style-pagination-script/