Anzeige:
Ergebnis 1 bis 3 von 3

Thema: Ein Besucherzähler in php

  1. #1
    Registrierter Benutzer Avatar von ContainerDriver
    Registriert seit
    10.01.2003
    Beiträge
    418

    Ein Besucherzähler in php

    Hallo!

    Ich will mir eine eigene Website bauen. Dazu will ich einen (selbstprogrammierten) Besucherzähler.
    Ich habe mir folgendes überlegt:
    1. Auf dem Server liegt eine Datei "count".
    2. Bei jedem Laden der Startseite "index.html" soll das PHP-Skript aufgerufen werden.
    3. Dieses Skript öffnet "count" erhöht die darin stehende Zahl und speichert die Datei wieder.

    Nun gibt es folgende Probleme:

    1. Zwei User greifen gleichzeitig auf die Website zu. Beide holen sich die Datei "count" mit dem Wert "8". Beide würden "9" in der Datei abspeichern, was falsch wäre! Wie verhindert man so etwas?

    2. Ein User drückt den reload-Button, die folge wäre ein neuer Benutzer, obwohl es nur ein Reload ist! Wei verhindert man dies?

    Ich habe _noch nicht_ in PHP programmiert (oder sagt man geskriptet?;-)), mich interessiert erst mal der theoretische Weg (die Pfingstferien rücken aber näher...).

    Über eine Beschreibung würde ich mich sehr freuen!

    MFG
    Florian

  2. #2
    Registrierter Benutzer
    Registriert seit
    02.12.2002
    Ort
    Darmstadt
    Beiträge
    615
    Prinzipiell ist das ein guter Absatz,m bis auf die geschildertebn Probleme.

    1. Das wirklich zwei Leute zur genau gleichen Zeit das script ausführen und dann zur genau gleichen Zeit wieder schreiben, das finde ich, müsste schon extremer Zufall sein. (Zumindest auf einer kaum besuchten webseite)

    2. Man speichert die IP und die letzte Zugriffszeit zusätzlich in einer anderen Dateien. Dann kontrolliert man ob diese IP gerade erst dawar (anhand der Zeit) und es wird nicht erhöht. Ansonsten wird die Datei erhöht und der Eintrag aus der Datei mit der IP erneuert / eignetragen.

    Und ich programmiere in PHP, auch wenn das irgendwer skripten nen sollte
    Seine Rätselhaftigkeit wird nur durch seine Macht übertroffen!

  3. #3
    Registrierter Benutzer Avatar von Gaert
    Registriert seit
    09.05.2002
    Ort
    Nußloch
    Beiträge
    1.317
    Hallo!

    Zu 1. :
    Es gibt die PHP Funktion flock() mit der sich Dateien sperren lassen, während man schreibt. Der zweite Prozess muss es dann in einer While Schleife solange versuchen bis die Datei wieder freigegeben wird. Meine Tests haben allerdings gegeben, dass flock() unter bestimmten umständen nicht korrekt arbeitet.
    Wenn du ganz auf Nummer sicher gehen willst verwende stattdessen eine Datenbank zum speichern - da werden diese Probleme vom DBMS gehandled.


Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •