권장 : 동적 웹 애호가 : ASP 기능 필터링 HTML ASP 필터링 html 코드는 다음과 같은 참조 된 내용입니다. 함수 removehtml (strhtml) dim objregexp, 일치, 일치 세트 objregexp = new regexp obj
방문자를 숫자, 방문 수, IP 및 시간을 늘릴 수있는 통계 생산의 예
나는 액세스 라이브러리를 예로 들어 본다. 실제로 SQL Server 라이브러리를 사용하는 경우 링크 라이브러리의 문을 변경하십시오. 라이브러리 구조는 다음과 같습니다
라이브러리 파일 이름 : cont.asp는 원래 cont.mdb 였지만 빌드 후에 확장이 ASP로 변경되어 라이브러리가 다운로드되지 않도록했습니다.
테이블 이름 : 탭
필드 이름 데이터 유형 설명
ID는 방문자 번호를 자동으로 번호를 매수합니다
IP 텍스트는 방문자의 IP를 기록하는 데 사용됩니다
DAT1 날짜 시간은 마지막 방문자 방문자를 기록하는 데 사용됩니다.
DAT 날짜 시간은 방문자가 처음 방문하는 시간을 기록하는 데 사용됩니다.
CS 번호, 정수 유형은 방문자의 방문을 기록하는 데 사용됩니다.
이 프로그램은 두 파일만으로 매우 간단합니다. Dispcont.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) ''쿠키 읽기, 쿠키 이름은 다음과 같습니다. Keren, Haha. . Ayu의 E 문학에 대한 냄새 나는 점은 Pinyin을 사용하는 방법 만 알고 있다는 것입니다. Keren = then ''쿠키가 비어 있는지 판단합니다. 비어 있다면 새로운 친구가되어야합니다. 그렇지 않으면 오랜 친구입니다. SQL = 선택 * 탭에서 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) = 지금 ''현재 날짜와 시간을 알려주십시오. RS (DAT1) = DATE '' '현재 날짜와 향후 첫 방문에 사용할 날짜를 알려줍니다. response.cookies (Keren) = rs (id) ''쿠키를 작성하고 내용은 ID와 동일합니다. Response.Cookies (Keren) .expires = DATE 365 ''365 일 동안 유효한 쿠키 날짜를 설정하십시오. else ''위는 새로운 친구들을 다루는 방법입니다. 오랜 친구들과 어떻게해야합니까? 다음을보십시오. sql = select * where where id = & keren ''옛 친구들의 기록을 찾기 위해 도서관으로 이동 set rs = server.createobject (adodb.recordset) Rs. Open SQL, Conn, 1, 3 rs (cs) = rs (cs) 1 ''좋아, 발견, 1 번의 방문을 추가하십시오 rs (ip) = request.servariables (remote_addr) ''그의 IP가 무엇인지 확인하고 적어 두십시오. rs (dat) = 지금 ''현재 시간, 즉 마지막 방문 시간을 알려주세요. 응답 .cookies (Keren) = rs (id) ''그런 다음 쿠키를 작성하십시오.이 문장이 중복되는지 모르겠으므로 시도하지 않았습니다. 응답 .cookies (Keren) .expires = date 365 ''쿠키의 만료 시간을 설정하여 1 년이 오면 그를 인식하지 못하게하십시오. 끝 If Rs.Update ''기억해야 할 모든 것을 녹음하고 라이브러리를 업데이트했습니다. rs.close ''레코드 세트 객체를 닫습니다. Conn = Nothing ''릴리스 Conn, 연결을 최대한 빨리 켜고 꺼야한다고 생각합니다. 나는 그것을 세션에 넣는 것이 가장 바람직하지 않다고 생각합니다. 4 %> |
좋아, 레코드가 완료되었고, 매우 간단한 작은 프로그램 인 20 줄 이상의 코드가 있습니다. 프로그램이 작성된 후에는 어떻게 페이지에 배치 할 수 있습니까? 매우 간단합니다. 홈페이지에서 장소를 찾아이 코드 라인을 추가하십시오. <img src = contpage.asp 너비 = 0 높이 = 0>.
다음 단계는 레코드를 표시하는 것입니다.
파일 이름 : distcont.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 = 요청 (PAG) page3 = page3 = session (contpag) ''페이지 수, 현재 페이지 Page3 = Page3 = 1 인 경우 PA = 요청 (PA) pa = pa = pa = session (contpa) ''페이지 당 디스플레이 수 PA = 그런 다음 PA = 15 ''기본적으로 페이지 당 15 개 항목이 표시되며 마음대로 변경할 수 있습니다. 세션 (Contpag) = Page3 세션 (contpa) = pa pages = pa ''페이지 당 표시 수 ******************* 위의 프로그램은 페이지 매김 함수를 구현하는 데 사용됩니다. sql = select *에서 -dat, -id로 탭 주문 희미한 Rs set rs = server.createobject (adodb.recordset) Rs. Open SQL, Conn, 1,1 CSI = 0 CS1 = 0 CS100 = 0 CSDAT1 = 0 rs.eof가 아니라 CSI = CSI RS (CS) rs (cs) = 1 인 경우 CS1 = CS1 1 Rs (CS)> = 100 인 경우 CS100 1 날짜 value (rs (dat)) = 날짜입니다 CSDAT1 = CSDAT1 1 끝 If rs.movenext 고리 zs = rs.recordCount ''************************************** 8 : 다음 프로그램은 Pagination Display에 사용됩니다. %> <헤드> <title> 온라인 통계 </title> </head> <바디 스타일 = 글꼴 크기 : 9pt bgcolor =#d8edf8> 총 <%response.write zs%> 레코드가 있으며 이제 <%response.write page3%> 페이지는 각 페이지를 표시합니다. href = distcont.asp? pag = <%= page3%> & pa = 30> 30], [<a href = distcont.asp? pag = <%= page3%> & pa = 40> 40] [<a href = distcont.asp> 새로 고침] <div align = 왼쪽> <테이블 테두리 = 0 CellPadding = 0 Style = font-size : 9pt> <tr> <td> 페이지 번호 </td> <%page2 = 1 i = 1 ~ zs 단계 페이지 Page3 = CSTR (Page2) 인 경우 %> <td> [<%response.write page2%>] </td> < % else %> <td> <a href = dispcont.asp? pag = <%response.write page2%>> [<%response.write page2%>] </td> <% 종료 if Page2 = Page2 1 다음 sn = pages * (page3-1) ''현재 레코드 번호 = 페이지 당 표시 수 * 페이지 수 - 페이지 당 표시 수 sn> zs라면 sn = 0입니다 Rs.Move SN, 1 ''************************************ 위의 단락은 페이징에 사용됩니다 %> </tr> </table> </div> <테이블 스타일 = 글꼴 크기 : 9pt 너비 = 100% BordercolorLight =#000000 경계 = 1 BorderColorDark =#fffff bgcolor =#a4d1e8 CellPacing = 0 CellPadding = 3> <tr> <td> 번호 </td> <td> 마지막 홈 페이지 방문 </td> <td> 마지막 방문 </td> <td> 홈 페이지 수 </td> <td> 첫 방문 날짜 수 </td> </tr> <% i = 1에서 페이지 응답 </tr> response.write <td> & rs (id) & </td> response.write <td> & rs (dat) & </td> response.write <td> & rs (ip) & </td> response.write <td> & rs (cs) & </td> response.write <td> & rs (dat1) & </td> 응답 </tr> rs.movenext rs.eof라면 종료하십시오 다음 Rs.Close %> <tr> <td> 총 <%= zs%> </td> <td> 방문 횟수는 100 배 이상 <%= cs100%> </td> <td> 방문 횟수는 1 : <%= cs1%> </td> <td> 총 방문 수 <%= csi%> </td> <td> 오늘 방문 : <%= csdat1%> </td> </tr> </테이블> |
''******************************** 위의 것은 전체 페이지 디스플레이입니다. 그들 모두를 사용할 수 있습니다. 기록이나 상황이 고려되지 않습니다.
공유 : ASP에서 작성된 테트리스 게임 다음은 참조 된 내용입니다.