0

次のコードを使用して、投稿の一意のページ ビューをカウントしています。

$thread_id = 4554;    // thread_id is the unique page id

$sess_key = "page_id_" . $thread_id;

if(!isset($_SESSION[$sess_key]))
{
  $_SESSION[$sess_key] = 0;
}

if($_SESSION[$sess_key]==0)
{
   $query = "UPDATE tbl_threads SET views = (views + 1) WHERE id = {$thread_id}";

   mysqli_query($connection,$query,MYSQLI_STORE_RESULT);

   $_SESSION[$sess_key] = 1;
}

しかし、問題は、新しい投稿を追加してクリックして表示すると、データベースに3つのビューが追加され、データベースに2つのビューが追加されることがあります。投稿を 2 回目に開くと、データベースに 1 が追加されます。このコードにはエラーが見られなかったので、髪を引っ張ろうとしています。また、ユニークなページビューも得られません。コードを分析して、どこに問題があるか教えてください。

注:</body>タグの前の Web ページの最後にこのコードを貼り付けました。

4

1 に答える 1

-1

このようにしてみてください

<?php

$thread_id = 4554;    // thread_id is the unique page id

$sess_key = "page_id_" . $thread_id;
$sessVal = $_SESSION[$sess_key];

if (!isset($sessVal)) {
    $_SESSION[$sess_key] = session_id();
    //Update the count in mysql table
} 
于 2013-09-11T05:51:08.373 に答える