2009-07-31 3 views
1

Ich benutze eine einfache MySQL-Tabelle, um Tagestreffer für bestimmte Seiten/Elemente in einer Website zu zählen. Verwenden Sie die ID-Spalte für die Seiten-/Artikel-IDs, das Datum für den Tag der Besuche/Treffer und die Treffer-Spalte für die Anzahl der Treffer.PHP: Einzigartige Besuche/Treffer zu bestimmten Artikeln mit Cookies/ip

Jedes Mal, wenn jemand die Seite besucht, wird der Wert der Treffer für dieses bestimmte Datum auf +1 aktualisiert.

Aber der Wert wird jedes Mal aktualisiert, wenn die Seite aktualisiert oder aktualisiert wird, und ich brauche eine Möglichkeit, die Seiten-ID in einem Cookie oder der Besucher-IP in der Datenbank zu speichern, um die Treffer nur einmal zu aktualisieren.

Ich habe nie mit Cookies gearbeitet, daher weiß ich nicht wirklich, wie man das macht und welche Einschränkungen die Daten haben, als sie in einem Cookie gespeichert werden können.

Ich denke, das Speichern der IP-Adressen der Besucher in der Datenbank ist eine Verschwendung von Queens und Bandwitch und ich lese, dass es nicht immer möglich ist, die echte IP zu bekommen und dies kann einige Probleme und einige Treffer nicht aktualisiert.

Ich habe auch gelesen, dass es besser nicht globale Variablen zu viel zu verwenden, um ...

Kann jemand bitte erklären Sie mir den besten Weg, es zu tun ist und wie es zu tun ??

Danke!

Antwort

2

Wenn Sie lieber mit Cookies als PHP-Variablen umgehen, etwas, mit dem Sie am ehesten vertraut sind, würde ich eine Sitzung verwenden.

Ruft die Seiten-ID in der Variablen $ page ab und speichert sie in einer Sitzung. Eine Sitzung ist wie ein Cookie, außer dass sie auf der Serverseite gespeichert wird.

Wenn eine Variable mit der ID dieser Seite vorhanden ist, wird nichts getan, andernfalls wird ein Treffer protokolliert und die Variable festgelegt.

können Sie dieses Tutorial überprüfen, um mehr über Sitzungen: http://www.tizag.com/phpT/phpsessions.php

wie Cookies, Sessions werden nur für eine gewisse Zeit dauern. So wird es nach ein paar Tagen einen Besuch verzeichnen.

Sie möchten vielleicht sogar manuell überprüfen, um zu sehen, wann das letzte Mal besucht wurde. Wenn es länger als eine Stunde dauert, zeichne einen neuen Treffer auf, weil sie wahrscheinlich nicht nur erfrischend sind.

Verwandte Themen