Eine seltsame Probleme auf meinem Pageview Skript Zähler (PHP-Code) passiert. Wenn ich eine Seite meiner Website mit Firefox Browser, besuchen, ist das Inkrement des Seitenaufrufs gleich +3 (von 9 bis 12 zum Beispiel). Wenn ich die Seite neu lade, ist das Inkrement richtig und gleich +1.Pageview Counter Inkrementieren +3 (+2 manchmal) beim 1. Seitenanruf, dann +1, warum?
Mit Opera-Browser passieren die meisten Male, dass das Inkrement +2 für die erste Seite aufrufen und +1 für folgende Seite neu laden. Mit Chrome die meisten Male das Inkrement ist +3 für den ersten Anruf und +1 für folgende Nachladung.
Die Abfrage ist sehr einfach:
// 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";
}
Wie es zu beheben?
edit: auch mit: WHERE ID = $ dati [ID] das Verhalten ist das gleiche.
Probieren Sie es aus: http://www.fabiodisconzi.com/open-h2020/per-country/it/universita+degli+studi+di+sassari/index.html und überprüfen Sie die Spalte "Ansicht" versuchen Sie, einige Projekte zu besuchen. Selbst mit Edge-Browser bleibt das Problem bestehen.
Vielleicht ist die Seite vom Browser vorinstalliert? (siehe http://andydavies.me/blog/2013/10/22/how-the-browser-pre-loader-makes-pages-load-faster/) Darüber hinaus könnten Sie die SQL NOW() -Funktion verwenden für die Datetime, also: 'lastviewtime = NOW()' –
UPDATE! ** Das Problem wird durch das Google Adsense-Skript ** verursacht. Warum? Was ist der Prozess, der die Dreifach- oder Doppelzählung verursacht? Ich habe gerade versucht, den AdSense-Code zu entfernen, und der Seitenaufrufzähler funktioniert einwandfrei. –
Es sollte ein Problem des ASYNC-Modus von Adsense-Netzwerk sein. –