1

PHP Web サイトの訪問者の総数を表示したいのですが、このようなカウンターを表示する html / php スクリプトをいくつか見つけました。

<!-- Start of SimpleHitCounter Code -->
<div align="center"><a href="http://www.simplehitcounter.com" target="_blank"><img src="http://simplehitcounter.com/hit.php?uid= " border="0" height="18" width="83" alt="web counter"></a><br><a href="http://www.simplehitcounter.com" target="_blank" style="text-decoration:none;">web counter</a></div>
<!-- End of SimpleHitCounter Code -->

私はローカルホストでそれを試してみましたが、同じページを更新すると、カウントに追加されるという問題があります。訪問者ごとに一意のカウントを取得する方法を教えてください。検索中に適切なソースが見つかりませんでした

4

4 に答える 4

1

テーブルを使用してデータベースを作成し、ips列、、、をそれに追加idipますlasthit。以下のスニペットは、ユーザーがサイトにアクセスした場合にデータベースにヒットを追加します (1 つのヒット/日付)

<?php
$pdo = new PDO('mysql:host=localhost;dbname=myDatabase','username','password');    $time = date("Y-m-d");
$query = "INSERT INTO ips (ip, lasthit) VALUES (?,?) WHERE lasthit <> ?";
$smt = $pdo->prepare($query);
$smt->execute(array($_SERVER['REMOTE_ADDR'],$time, $time));
于 2013-11-14T13:35:43.767 に答える
1

ページを開いていることをIPで確認し、一意の IPに対して 1 回だけヒット カウンターの増分を利用します。

if it is unique最初にヒット カウンター Db にIP を含むページを開いてから、ヒット カウンターをインクリメントし、IP を DB に保存する場合を意味します。次に、ページを更新するたびに、現在の IP が存在するかどうかを確認します。存在しない場合次にインクリメントし、それが無視された場合。

于 2013-11-14T13:14:10.880 に答える
1

何をユニークビジターとしてカウントするかによって異なります。1 つの解決策は IP アドレスを確認することですが、たとえば Wi-Fi ルーターの背後で複数のユーザーが異なるコンピューターを使用している可能性があり、それらすべてを一意としてカウントする場合は、Cookie を使用することをお勧めします。

Cookie のもう 1 つの利点は、サーバーに IP アドレスのデータベースを保存しなくても、リピート訪問者を簡単に追跡できることです。

于 2013-11-14T13:17:47.180 に答える
0

そのためのデータベース テーブルを持つことができます。列の値は、id、total_count、および IP アドレスである必要があります。したがって、同じ IP アドレスが再び見つかった場合は、カウントを増やさないでください。

1 つのシステムから 1 日に 1 回カウントを増やしたい場合は、last_hit_date という列をもう 1 つ追加できます。これを使用して、IP がその日にすでにクリックされているかどうかを確認します。

于 2013-11-14T13:12:52.957 に答える