Frage

Ich möchte eine bestimmte Aktion geschehen, wenn ein Benutzer X Seiten einer Website besucht hat,

Habe ich die Zähler extern speichern müssen (in einer txt-Datei oder db)?

Ich kann nicht einen Weg finden um den Zähler auf 0 zu setzen, dann erhöhen jede Seite zu laden. Der Zähler würde immer auf 0 zurückgesetzt bekommen, oder bin ich etwas fehlt offensichtlich?

War es hilfreich?

Lösung

Es wäre ziemlich einfach sein, nur $_SESSION Daten zu verwenden, zu speichern, wie viele Seiten ein Individuum gesehen hat.

$_SESSION['pageviews'] = ($_SESSION['pageviews']) ? $_SESSION['pageviews'] + 1 : 1;

Andere Tipps

Die einfachste Methode wäre, PHP zu verwenden Sitzungsspeicher .

session_start();
@$_SESSION['pagecount']++;

PHP sendet automatisch den Benutzer ein Session-Cookie und speichert transparent den Inhalt von $ _SESSION in einer flachen Datei mit diesem Cookie verknüpft. Sie brauchen nicht wirklich Ihre eigene Lösung für dieses Problem zu rollen.

Sie können eine Sitzung starten, wenn der Benutzer zum ersten Mal auf Ihre Seite bekommt, und dann wird der Wert jedes Mal erhöht der Benutzer Reloads / Besuche subpages. Eine andere Möglichkeit, es zu tun, ist auf jeder Seite ein verstecktes Feld haben, und sein Wert abrufen, erhöhen Sie es und senden Sie es an die neue Seite.

<input type="hidden" value="2" id="blabla" />

Die kurze Antwort ist ja, man dies von außen müssen sparen, weil php (standardmäßig) eine Null-Speicher Persistenz Politik. Das bedeutet im Wesentlichen, dass, sobald Sie Ihren PHP-Skript ausgeführt wird, es gibt nichts in Erinnerung hinterlassen.

Für einen geringen Verkehr Website Sie über eine einfache txt-Datei denken mögen, wo Sie, Schrittweite und Schreib lesen. Für eine höhere Traffic-Website eine sehr einfache MySQL-Tabelle funktionieren könnte.

Haben Sie bereits eine Art und Weise zu bestimmen, die ein Benutzer (wie ein Benutzername und Passwort), auch wenn sie die Seite und kommen wieder an einem anderen Tag verlassen? Oder sind Sie nur daran interessiert bei der Verfolgung die Anzahl der Seiten ein Besucher sieht, und tun etwas Besonderes auf der x-ten Seite betrachtet wird.

Wenn es das zweite ist, haben Sie bereits eine Session-Variable, in dem Sie den Zähler speichern.

$_SESSION['views'] = $_SESSION['views'] + 1
if($_SESSION['views'] == x) ...

würden Sie eine if-Anweisung überprüfen, ob es bereits gesetzt ist;

if( isset($count) )
{
   $count = $count + 1;
}
else
{
   $count = 1;
}

Sie können auch die get-Methode verwenden, um die Zählung in der URL zu setzen, so dass Sie nicht die Zählung in einer Datei oder Datenbank zu schreiben.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top