推奨:動的Web愛好家: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番号、整数タイプは、訪問者による訪問を記録するために使用されます
プログラムは非常にシンプルで、2つのファイルのみがあります。 Dispcont.aspは統計結果を表示するために使用され、contpage.aspは統計情報を表示するために使用されます。
まず、contpage.aspの統計を見てみましょう。コードは次のとおりです。
| 以下は引用されたコンテンツです。 <% conn = server.createObject(adodb.connection)を設定します connstr = dbq = server.mappath(cont.asp); defaultdir =; driver = {microsoftアクセスドライバー(*.mdb)}; conn.open connstr '' ***上記のステートメントは、ライブラリに接続するために使用され、cont.aspはライブラリファイル名です。 keren = request.cookies(keren) ''クッキーを読む、クッキーの名前はケレン、ハハです。 。 AyuのE文学についての臭いことは、彼がPinyinの使用方法しか知っているということです。 keren = then ''クッキーが空であるかどうかを判断します。彼らが空いているなら、彼らは新しい友達でなければなりません、さもなければ彼らは古い友達です。 sql = select * from tabここで、id = -1 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) '' Cookieを書き込むと、コンテンツはIDと同じです。 Response.Cookies(Keren).Expires =日付365 ''これからのCookieの有効な日付を設定します。 それ以外の場合、上記は新しい友達と対処する方法です。古くからの友達をどうすればよいですか?以下を見てください: sql = select * tabからid =&keren '' 'ライブラリに行き、古い友達のレコードを見つけます 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) ''その後、Cookieを書き込みます。この文が冗長かどうかわからないので、試しませんでした。 Response.Cookies(Keren).Expires =日付365 '' Cookieの期限切れの時間を設定して、1年が来たら彼を認識しないようにします。 ifを終了します rs.update ''覚えておくべきすべてを記録し、ライブラリを更新しました。 rs.Close ''レコードセットオブジェクトを閉じます。 conn = nothing ''リリースconn、私はまだ接続をできるだけ早くオンとオフにする必要があると思います。セッションに入れるのは最も望ましくないと思います。 4 %> |
さて、レコードが完成しました。20行以上のコードがあり、非常に単純な小さなプログラムがあります。プログラムが書かれた後、どのようにページに配置できますか?とても簡単です。ホームページの場所を見つけて、このコードの行を追加するだけです。
次のステップは、レコードを表示することです。
ファイル名:Dispcont.asp、コードを参照してください:
| 以下は引用されたコンテンツです。 <% conn = server.createObject(adodb.connection)を設定します connstr = dbq = server.mappath(cont.asp); defaultdir =; driver = {microsoftアクセスドライバー(*.mdb)}; conn.open connstr '' ***上記のステートメントは、ライブラリに接続するために使用され、cont.aspはライブラリファイル名です。 Page3 =リクエスト(PAG) page3 = then page3 = session(contpag) ''ページ数、現在のページ page3 = then page3 = 1の場合 PA =リクエスト(PA) pa = then pa = session(contpa) ''ページごとの表示数 pa = then pa = 15 ''の場合、ページごとに15個のアイテムが表示され、自由に変更できます セッション(contpag)= page3 セッション(contpa)= pa ページ= PA ''ページごとのディスプレイ数*******************上記のプログラムは、ページネーション関数を実装するために使用されます sql = select * from tab order by -dat、-id 薄暗いrs 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 datevalue(rs(dat))= dateの場合 CSDAT1 = CSDAT1 1 ifを終了します rs.movenext ループ zs = rs.RecordCount '' ****************************************** 8ページネーションディスプレイには次のプログラムが使用されています %> <head> <title>オンライン統計</title> </head> <body style = font-size:9pt bgcolor =#d8edf8> 合計<%respons.write zs%>レコードがあります。現在、<%response.write.write page3%>ページは各ページを表示します:[<a href = dispcont.asp?pag = <%= page3%>&pa = 15]、[<a href = discont.asp?pag = <%= page3%> pa = 20> 20] href = dispcont.asp?pag = <%= page3%>&pa = 30> 30]、[<a href = dispcont.asp?pag = <%= page3%>&pa = 40> 40] [<a href = dispcont.asp>更新] <div align = left> <テーブルボーダー= 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 = <%respons.write page2%>> [<%respons.write page2%>] </td> <%end if Page2 = Page2 1 次 sn = pages *(page3-1) ''現在のレコード番号=ページごとの表示数 *ページ数 - ページごとの表示数 sn> zsの場合、Sn = 0 rs.move sn、1 '' ******************************上記の段落はページングに使用されます %> </tr> </table> </div> <テーブルスタイル= font-size:9pt width = 100%bordercolorlight =#000000 border = 1 bordercolordark =#fffff bgcolor =#a4d1e8 cellpacing = 0 cellpadding = 3> <tr> <td> number </td> <td>ホームページへの最後の訪問</td> <td> IPへの最後の訪問</td> <td>ホームページ数</td> <td>最初の訪問日数</td> </tr> <% i = 1からページの場合 Response.Write </tr> respons.write <td>&rs(id)&</td> respons.write <td>&rs(dat)&</td> respons.write <td>&rs(ip)&</td> respons.write <td>&rs(cs)&</td> respons.write <td>&rs(dat1)&</td> Response.Write </tr> rs.movenext rs.eofの場合は、entを終了します 次 rs.close %> <tr> <td>合計<%= zs%> </td> <td>訪問数は100倍以上です<%= cs100%> </td> <td>訪問数は1です。 <%= csdat1%> </td> </tr> </table> |
'' **************************上記は完全なページディスプレイです。それらはすべて利用可能です。記録も状況も考慮されていません。
共有:ASPで書かれたTetrisゲーム以下は参照されたコンテンツです:<%request.querystring(ven)= t then%> <html> <head> <メタ名<%