ASP는 액세스 통계 코드(예 1)를 생성합니다. 데이터베이스 테이블 생성
테이블 이름이 온라인입니다
다음 필드를 설정하세요.
각 액세스를 기록하는 데 사용되는 id 'session.sessionid
name' 방문자일 경우 방문자로 기록됩니다.
온라인 '방문자일 경우 0, 회원일 경우 1
datetime '최근 활동 시간
사용자 이름 '회원의 로그인 사용자 이름, 게스트는 비어 있습니다.
ip '방문한 로그인 IP를 기록합니다.
head.asp '데이터베이스 테이블에 온라인 사용자 수를 기록합니다. 이 페이지는 탐색에 사용되는 모든 ASP 페이지에 포함되어야 합니다.
<%
rs=Server.CreateObject(ADODB.Recordset)를 설정합니다.
session(username)=이면 사용자가 로그인하지 않은 것으로 판단됩니다.
sql=select * from online where id='&session.sessionid&' '이 세션 ID가 데이터베이스 테이블에 존재하는지 확인합니다.
rs.Open SQL,Conn,1,3
rs.eof이면 '방문자의 첫 방문'
rs.addnew
rs(id)=session.sessionID
rs(이름)=방문자
rs(online)=0 '0은 사용자가 로그인하지 않았으며 방문자임을 의미합니다.
rs(날짜시간)=지금()
userip = Request.ServerVariables(HTTP_X_FORWARDED_FOR)
userip = 그렇다면
userip= Request.ServerVariables(REMOTE_ADDR)
종료하면
rs(ip)=사용자ip
else '방문자가 처음으로 탐색하지 않습니다.
rs(datetime)=now() '활동 시간 업데이트
RS.업데이트
RS.닫기
종료하면
또 다른
sql=select * from online where id=' & session.sessionID & ' 또는 admin='&session(username)&' '세션 ID 또는 사용자 이름 레코드가 데이터 테이블에 이미 존재하는지 확인합니다.
rs.Open SQL,Conn,1,3
만약 rs.eof라면
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)
userip = 그렇다면
userip= Request.ServerVariables(REMOTE_ADDR)
종료하면
rs(ip)=사용자ip
else //회원이 웹사이트를 처음 탐색하는 것이 아니며 방문자가 웹사이트에 로그인합니다.
rs(name)=session(show)은 사용자 닉네임을 업데이트합니다.
rs(사용자 이름)=세션(사용자 이름)
rs(online)=1 '사용자가 로그인하여 회원임을 나타냅니다.
rs(날짜시간)=지금()
종료하면
RS.업데이트
RS.닫기
종료하면
rs=아무것도 설정하지 않음
%>
conn.execute(delete from online where datediff('s',datetime,now())>60) '60초 동안 활동이 없는 방문자를 삭제합니다. 시간은 직접 조정할 수 있습니다.