방문 자 에 대한 번호,방문 횟수,IP,시간 을 기록 할 수 있 는 통계 제작 실례

방문 자 에 대한 번호,방문 횟수,IP,시간 을 기록 할 수 있 는 통계 제작 실례  나 는 웹 사 이 트 를 만 들 었 다.www.zydn.net  물론 입 니 다.여러분 과 마찬가지 로 카운터 도 위 에 놓 여 있 습 니 다.매일 계산 기 를 보면 서 계속 뒤 집 히 고 있 습 니 다.마음 이 기 뻤 습 니 다.그런데 나중에 저 는 누가 제 사 이 트 를 보 았 습 니까?새 친구 예요,오 랜 친구 예요?그들 이 몇 번 이나 왔 는 지 나 는 그들 에 게 모두 번 호 를 매 겨 주 고 싶 어서 신청 했다. 무료 통 계 는 N 개 를 바 꾸 는 것 도 만 족 스 럽 지 않 습 니 다.아,스스로 손 을 써 야 풍족 한 옷 을 입 을 수 있 을 것 같 습 니 다.말 하면 할 수 있 고 수준 이 악취 가 나 는데 고수 들 이 농담 을 해서 지 도 를 받 지 않 기 를 바 랍 니 다.  나 는 ACCESS 라 이브 러 리 를 예 로 들 었 는데,사실은 SQL 을 사용 했다. SERVER 라 이브 러 리 도 링크 라 이브 러 리 문 구 를 고치 면 됩 니 다.  라 이브 러 리 구 조 는 다음 과 같다.  라 이브 러 리 이름:  CONT.ASP 원래 CONT.MDB 였 으 나 라 이브 러 리 가 다운로드 되 지 않도록 확장 자 를 ASP 로 바 꾸 었 습 니 다.  표 이름:tab  필드 이름   데이터 형식   설명 하 다.  ID      자동 번호     방문객 번호  IP      텍스트         방문객 기록 에 사용 할 IP  dat1    날짜 시간     방문객 의 마지막 방문 시간 을 기록 하 는 데 사용 합 니 다.  dat     날짜 시간     방문객 의 첫 방문 시간 을 기록 하 는 데 사용 합 니 다.  CS      숫자   방문 횟수 기록 에 사용  프로그램 은 간단 합 니 다.두 개의 파일 만 있 습 니 다.dispont.asp.  통계 결 과 를 표시 하 는 데 사용 되 며,contpage.asp 는 정 보 를 통계 하 는 데 사 용 됩 니 다.  일단 CONTPAGE.ASP 를 보 겠 습 니 다. 방금 통 계 된 것 입 니 다.코드 는 다음 과 같 습 니 다.  <%  Set Conn=Server.CreateObject("ADODB.Connection")  Connstr="DBQ="+server.mappath("cont.asp")+";DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};"  Conn.Open connstr '*****이상 문 구 는 라 이브 러 리 를 연결 하 는 데 사 용 됩 니 다.cont.asp 는 라 이브 러 리 파일 이름 입 니 다.  keren=request.cookies("keren") 'cookies 를 읽 습 니 다.cookies 의 이름 은"keren"입 니 다.하하.여가 의 E 문학 냄새 는 병 음 만 쓴다.  if keren="" then 'cookies 가 비 었 는 지 아 닌 지 를 판단 합 니 다.비 었 다 면 새로운 친구 일 것 입 니 다.그렇지 않 으 면 오 랜 친구 입 니 다.  sql="SELECT * FROM tab where id=-1"  set rs=server.createobject("ADODB.Recordset")  rs.Open sql,conn, 1, 3  rs.addnew '새 방문객 이 라면 창고 에 기록 을 하나 더 추가 합 니 다.  rs("cs")=1 '방문 횟수 를 1 로 기록 합 니 다.  rs("ip")=request.servervariables("remote_addr") 'IP 기록,  rs("dat")=now '현재 날짜 와 시간 을 기록 하고,  rs("dat1")=date '현재 날 짜 를 적어 서 첫 방문 날 짜 를 만 들 고,  response.cookies("keren")=rs("id") 'cookies 를 쓰 면 내용 이 ID 와 같 습 니 다.  response.cookies("keren").expires=date+365 'cookies 의 유효기간 을 설정 합 니 다.지금부터 365 일,  else '이상 은 새로운 친구 의 처리 방법 인 데,오 랜 친구 에 게 는 어떻게 해 야 합 니까?아래 를 보 세 요:  sql="SELECT * FROM tab where id="&keren '창고 에 가서 우리 오 랜 친구 의 기록 을 찾 아 라.  set rs=server.createobject("ADODB.Recordset")  rs.Open sql,conn, 1, 3  rs("cs")=rs("cs")+1 '자,찾 았 습 니 다.방문 횟수 에 1 을 더 하 세 요.  rs("ip")=request.servervariables("remote_addr") '그의 IP 가 얼마 인지 보고 기록 해라.  rs("dat")=now '지금 시간,즉 마지막 방문 시간 을 기록 하 세 요.  response.cookies("keren")=rs("id") '다시 cookies 를 써 넣 으 세 요.이 말 이 불필요 한 지 모 르 겠 습 니 다.시도 하지 않 았 습 니 다.  response.cookies("keren").expires=date+365 'cookies 기한 이 지나 면 1 년 이 되면 내 가 그 를 모 르 지 않도록 설정 합 니 다.  end if  rs.update '기억 할 것 은 다 적 었 으 니 라 이브 러 리 를 업데이트 하 세 요.  rs.close 'recordset 대상 을 닫 습 니 다.  set conn=nothing 'conn 을 풀 어 주 는 것 은 connection 이 열 리 는 대로 닫 아야 한다 고 생각 합 니 다.SESSION 에 넣 는 것 이 가장 바람 직 하지 않다 고 생각 합 니 다.4  %>  자,기록 만 하면 됩 니 다.20 여 줄 의 코드 가 있 습 니 다.아주 간단 한 작은 프로그램 입 니 다.하지만 고수 에 게 는 분명 좋 은 방법 이 있 을 것 이 라 고 생각 합 니 다.좋 은 방법 이 있 는 친 구 는 아 여 를 가 르 치 는 것 을 잊 지 않 습 니 다.  프로그램 을 다 썼 는데 어떻게 페이지 에 넣 습 니까?간단 합 니 다.홈 페이지 에 아무 데 나 찾 아 보 세 요.이 줄 코드 를 더 하면이면 됩 니 다.  다음은 기록 을 보 여 주 는 것 이다.이것 은 아 여 보다 잘 할 수 있 는 사람 이 많 지만 추 태 를 보 여 주 는 것 이다.  파일 이름:dispcont.asp , 코드 를 보십시오:  <%  Set Conn=Server.CreateObject("ADODB.Connection")  Connstr="DBQ="+server.mappath("cont.asp")+";DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};"  Conn.Open connstr '*****이상 문 구 는 라 이브 러 리 를 연결 하 는 데 사 용 됩 니 다.cont.asp 는 라 이브 러 리 파일 이름 입 니 다.  page3=request("pag")  if page3="" then page3=session("contpag") '페이지 수  if page3="" then page3="1"  pa=request("pa")  if pa="" then pa=session("contpa") '페이지 당 표시 수  if pa="" then pa=15 '기본 페이지 당 15 개 표시,임의로 변경 가능  session("contpag")=page3  session("contpa")=pa  pages=pa '페이지 당 표시 수량****************이상 의 프로그램 은 페이지 기능 을 실현 하 는 데 사 용 됩 니 다.  SQL="SELECT * FROM tab order by -dat,-id"  dim rs  Set rs=Server.CreateObject("ADODB.RecordSet")  rs.Open sql,conn,1,1  csi=0  cs1=0  cs100=0  csdat1=0  do while not rs.eof  csi=csi+rs("cs")  if rs("cs")=1 then cs1=cs1+1  if rs("cs")>=100 then cs100+1  if datevalue(rs("dat"))=date then     csdat1=csdat1+1  end if  rs.movenext  loop  ZS=RS.RECORDCOUNT  '*****************************************************8 아래 프로그램 은 페이지 표시 에 사 용 됩 니 다.  %>    <제목>탁월 컴퓨터 통계      모두<%Response.Write zs%>조 기록,현재<%Response.Write 페이지 3%>페이지    페이지 당 표시:[&pa=15">15]개,[&pa=20">20]개,[&pa=30">30]개,[&pa=40">40]개          [새로 고침]                                                                                쪽 번호<%page2=1  for i=1 to zs step pages  if page3=cstr(page2) then  %>[<%Response.Write page2%>]                                        <% else %>                                       ">[<%Response.Write page2%>]                                        <% end if  page2=page2+1  next  sn=pages*(page3-1) '현재 기록 번호=페이지 당 표시 수*페이지 수-페이지 당 표시 수  if sn>zs then sn=0                                  rs.move sn,1                                       '**********************************위 단락 은 페이지 를 나 누 는 데 쓰 인 다.                %>                    번호마지막 으로 첫 페이지마지막 으로 IP첫 페이지 횟수첫 방문 날짜<%  for i=1 to pages  Response.Write ""      Response.Write  ""&rs("ID")&""      Response.Write  ""&rs("dat")&""      Response.Write  ""&rs("IP")&""      Response.Write  ""&rs("CS")&""      Response.Write  ""&rs("DAT1")&" "        Response.Write ""       rs.movenext                                     if rs.eof then exit for                                     next                                rs.close     %>    합계<%=zs%>방문 횟수 가 100 회 이상 인 경우<%=cs 100%> 방문 횟수 가 1 인 경우:<%=cs1%>총 방문 횟수<%=csi%>오늘 방 문 량:<%=csdat 1%>     '****************************이상 은 완전한 페이지 입 니 다.모두 복사 하면 사용 할 수 있 습 니 다.기록 이 하나 도 없 는 상황 을 고려 하지 않 았 다.  당신 은 약간 변경 하여 더 많은 기능 을 추가 할 수 있 습 니 다.자,마지막 으로 여러분 들 은 여가 의 사이트 에 관심 을 가 져 주 십시오.  http://www.zydn.net  이 작은 프로그램의 데모 가 있 습 니 다.

좋은 웹페이지 즐겨찾기