-
- CREATE TABLE ccol(
- id integer not null auto_increment, #記録されたID
- ip char(15) not null, #訪問者のIPアドレス
- dtstamp datetime not null, #最終アクセス時刻
- uri char(255 ), #訪問者によって要求された URI
- 主キー (id)
- );
コードをコピー
次に、統計用の PHP コードを作成します
-
-
- /*
- ファイル: ccol.php
- 目的: 同時にオンライン閲覧している人の数を数える
- 編集: bbs.it-home.org
- * /
- $duration=1800 ;
- require "db.php"; //データベースアクセスクラスを準備してください
- //DBSQLが含まれています
- $ccol=new dbSQL;
- $ccol->connect();
- $ccol-> ;query("DELETE FROM ccol WHERE (UNIX_TIMESTAMP(NOW())-UNIX_TIMESTAMP(dtstamp))>$duration");
- //30 分より古いレコードを削除します
- $ccol->query("SELECT * FROM ccol WHERE ip='$REMOTE_ADDR '");
- //現在の IP がテーブルに存在するかどうかを確認します
- if ($ccol->nf())//Yes?
- {
- $ccol->next_record();//見つかったレコード配列のポインタを下に移動
- $id=$ccol->f('id');
- $ccol->query("UPDATE ccol SET dtstamp=now(), uri='$REQUEST_URI' WHERE id=$id");
- //最終アクセス時刻とアクセスページを設定
- }
- else//いいえ
- {
- $ccol->query(" INSERT INTO ccol VALUES (0, '$REMOTE_ADDR', now(), '$REQUEST_URI')");
- }
$ccol->query("SELECT COUNT(*) AS ccol FROM ccol WHERE (UNIX_TIMESTAMP(NOW())-UNIX_TIMESTAMP(dtstamp))<=$duration"); - //30 分以内にレコードを検索します。次の WHERE 句はオプションです -- 時間切れのため削除されました
- $ccol->next_record()
- echo "オンラインの人数:", $ccol->f('ccol');
- $ccol->free_result();
- ?> p>
-
コードをコピー
callメソッドし、サイトのすべてのページでこのプログラムを呼び出します。
例えば:
|