0

スレッドのビューをカウントする関数を Web ページの最後に配置しました。関数は次のとおりです。

function add_view($thread_id)
{
   global $connection;

   $qry  =  "UPDATE tbl_threads SET views = (views+1) WHERE ";
   $qry .= "thread_id= {$thread_id}";

   mysqli_query($connection,$qry,MYSQLI_STORE_RESULT);
}

この関数は、ページの最後で 1 回トリガーされます。しかし、問題は、ページを 1 回開くと、データベースに 4 つのビューがあることです。

tbl_threads のビュー フィールドに 3 を追加する場合もあれば、4 を追加する場合もあれば、2 を追加する場合もあります。

私のウェブページが複数回トリガーされたようです, 可能ですか, (私のウェブページには Google Analytics と Google Adsense コードもあります)

誰でも問題を分析できますか??

この問題の解決策は何ですか??

4

2 に答える 2

0

URL 書き換えを使用する場合、ブラウザが追加のアセット (たとえばfavicon.ico) を要求する可能性があります。それが存在せず、php ファイルを要求するように書き換えられると、別のヒットが発生します。Apple デバイスもさまざまなアイコン/画像を探しています。

于 2013-08-14T05:37:26.150 に答える
0

これにより、クライアントごとのヒットを 1 つだけカウントすることができます。

function add_view($thread_id)
{
   global $connection;
   if(!isset($_SESSION[$thread_id])) {
      $qry  =  "UPDATE tbl_threads SET views = (views+1) WHERE ";
      $qry .= "thread_id= {$thread_id}";
      mysqli_query($connection,$qry,MYSQLI_STORE_RESULT);
      $_SESSION[$thread_id] = 'viewed';
   }
}
于 2013-08-14T06:24:48.743 に答える