/ / Cookie. Wie kann ich bei jedem Seitenaufruf kein Duplikat zählen? - Datenbank, Cookies, Anzahl

Plätzchen. Wie kann ich jeden Seitenbesuch ohne Duplikate zählen? - Datenbank, Cookies, zählen

Meine Seiten-URL enthält 3 Variablen: id = N, num = N und item = N; N = 1, 100. Sie sind ganze Zahlen und ein Beispiel für URLs:

page.php?id=1&num=24&item=12

Ich möchte den Besuch ohne Duplikate zählen. Wie ich denke, dass es funktionieren sollte:

Wenn ein Cookie vorhanden ist, fügen Sie der Datenbank keinen neuen Wert hinzu, andernfalls setzen Sie den Cookie- und Inkrementwert in der Datenbank.

Ich habe ein $ _COOKIE [""] - Array verwendet, um festzustellen, ob die Seite besucht wurde:

$_COOKIE["product[id]"] = $_GET["id"];
$_COOKIE["product[num]"] = $_GET["num"];
$_COOKIE["product[item]"] = $_GET["item"];

Das Problem trat auf, wenn der Pfad anders ist:

page.php?id=1&num=24&item=12&page=0#topView

Ich kann die Datenbank nicht jedes Mal abfragen, wenn eine Person auf die Seite zugreift, da 1000 eindeutige Besuche vorliegen.

Meine Frage ist: Wie kann ich bei jedem Seitenbesuch in Mod einzigartig zählen?

Hinweis:

page.php?id=1&num=24&item=12

oder

page.php?id=1&num=24&item=15

oder

page.php?id=2&num=24&item=12

Diese Links geben mir je nach Variablen eine eindeutige Produktinformation.

Vielen Dank!

Antworten:

0 für die Antwort № 1

Da mein Kommentar die Lösung für Ihr Problem ist, konvertiere ich es als Antwort.

"Ich kann die Datenbank nicht jedes Mal abfragen, wenn aPerson Zugriff auf die Seite, es "s, weil es 1000+ eindeutige Besuche gibt." - Ich bezweifle, dass du kannst. Meiner Meinung nach sollten Sie. Zählen Sie alle Seitenzugriffe. Wenn Sie die Endergebnisse abrufen möchten, führen Sie die Gruppierung nach IP, ID, Num und Element aus. Wenn Sie alle Daten in die Datenbank aufnehmen, erhalten Sie auch einen kurzen Überblick über die beliebtesten Seiten. Darüber hinaus können Sie feststellen, auf welche Seiten ein einzelner Benutzer mehrmals zugreift, und die Gründe dafür ermitteln. Je mehr Daten sind besser. Es wird nicht viel von Ihrer Datenbank brauchen.

In Ihrem endgültig festgelegten Algorithmus liegt ein Fehler vor. Stellen Sie sich vor, die ID ist 11, die Zahl ist 5 und der Artikel ist 7. Und eine andere mit id = 1, num = 15, item = 7. Hoffen Sie, was ich meine. : P Sage es so

md5($_GET["id"]."-".$_GET["num"]."-".$_GET["item"]);

also ist es wirklich einzigartig.