私のページビュースクリプトカウンタ(PHPコード)で奇妙な問題が発生しています。 Firefoxのブラウザを使用して自分のウェブサイトのページにアクセスしたとき、ページビューの増分は+3(たとえば9〜12)です。ページをリロードすると、インクリメントは正しく、+1になります。Pageviewカウンターのインクリメントは、最初のページコールで+3(時々+2)、その後+1、なぜですか?
Operaブラウザでは、最初のページコールでは+2、その後のページリロードでは+1がほとんどの場合発生します。 ほとんどの場合、最初の呼び出しでは+3、その後のリロードでは+1が増えます。
クエリは非常に簡単です:
// update viewtimes
$momento = date("Y-m-d G:i:s", time());
$queryUpdateVisite = "
UPDATE projects SET
lastviewtime = '$momento',
viewtimes = viewtimes+1
WHERE id='$dati[id]' ";
if (mysqli_query($db, $queryUpdateVisite)) {
$messaggioUpdateVisite = "<div class=\"alert alert-success\">ok</div>";
} else {
$messaggioUpdateVisite= "<div class=\"alert alert-danger\">ERROR</div>";
echo "$messaggioUpdateVisite\n";
}
それを修正する方法は?
編集:でも:WHERE id = $ dati [id]動作は同じです。
開こうとすると、http://www.fabiodisconzi.com/open-h2020/per-country/it/universita+degli+studi+di+sassari/index.htmlが表示され、[表示]列を確認すると、いくつかのプロジェクトが表示されます。エッジブラウザを使用しても問題は解決しません。
ページがブラウザによってプリロードされている可能性がありますか? (http://andydavies.me/blog/2013/10/22/how-the-browser-pre-loader-makes-pages-load-faster/を参照) また、SQL NOW()関数を使用することもできますそのため、次のようになります。 'lastviewtime = NOW()' –
UPDATE! **問題はgoogle adsenseスクリプト**によって発生しています。どうして?トリプルまたはダブルカウントを引き起こすプロセスは何ですか?私はadsenseコードを削除しようとしているだけで、ページビューカウンタはうまく動作します。 –
それはadsenseネットワークのASYNCモードの問題であるはずです。 –