0

ハイク...私は再びスタックします...

簡単な訪問者統計を作成しようとしていますが、問題があります。

ユーザーがページを更新した場合に統計を更新しないようにする方法は?

ここに私のスニペット

public function saveData($sid)
{
    global $database;

    $reff = parse_url($_SERVER['HTTP_REFERER']);
    $referrer = isset($reff['host']) ? $reff['host'] : 'direct';
    $own = $_SERVER['HTTP_HOST'];

    if($referrer!=$own){
        $ip       = ip2long($_SERVER['REMOTE_ADDR']);
        $time     = time();
        $page     = $_SERVER['REQUEST_URI'];
        $add = $database->tableAdd("eu_shop_pageview", "shop_id, ip, timestamp, page, referrer", "'$sid', '$ip', '$time', '$page', '$referrer'");
    }
}

ありがとう :)

よろしく、 ステシー

4

2 に答える 2

0

IP アドレスが時間枠内にテーブルに存在するかどうかを確認します。存在する場合は、入力せずに時間を更新します。これは正確な数を計算できないもので、おおよその数にすぎません。

于 2011-06-20T06:15:52.163 に答える
0

個人的には、ビュー トラッキングを行うと、次の列が表示されます。

`id`
`identifier` : this is either the person's username or if they don't have an account, their IP
`date` : inserted using CURDATE()
`page_url`

このテーブルに追加する前に、次のクエリを実行し、行が返されない場合は、そのテーブルに挿入してそのページにビューを追加します。

SELECT id FROM views WHERE identifier = '$user_id' AND date = CURDATE() AND page_url = '$url' LIMIT 1

新しいビューをカウントするかどうかを決定するための時間枠が 1 日より多い/少ない場合は、日付の選択方法を変更することをお勧めします。

于 2011-06-20T06:20:13.237 に答える