Besucherzähler - irgendwo werden Umbrüche eingefügt

  • Guten Mittag.

    Ich habe in PHP einen Besucherzähler geschreiben, und wenn eine IP in den letzten 30 Minuten schon da war, wird eine Zahl angehoben, das ganze jedoch nicht als neuer Besuch gewertet.
    Nun gibt es aber ein Problem: vor dem neuen Eintrag wird immer ein Zeilenumbruch eingefügt. Ich habe stundenlang über dem Code gebrütet und die Stelle nicht gefunden.
    Könnt ihr mir helfen?

    Ich finde die Stelle einfach nicht, wo der zusätzliche Umbruch eingeschleust wird.

    Findet jemand den Fehler?

    Ich würde mich sehr über Hilfe freuen, da blickt man ja nicht sofort durch.

    Danke im Voraus
    The User

  • Kleiner Rat : Kommentiere das nächste mal das Script durch, durch diese kurzen Variabeln kann sich ja keiner mehr durchfinden.

    Mein Tipp liegt in disem Codebereich:
    for($i = 0; $i < $d2+6; $i++)
    {
    $datei3 .= $datei[$i]."\n";
    }
    versuch doch mal das umzubauen:
    for($i = 0; $i < $d2+6; $i++)
    {
    if($datei[$i] != "")
    $datei3 .= $datei[$i]."\n";
    }
    oder so und dann nochmal auszuprobieren

    Sämtlicher Code erhebt keinen Anspruch auf syntaktische Korrektheit geschweige denn Ausführbarkeit und ist für die Implementation außerhalb der Beispiele nicht geeignet.
    [Blockierte Grafik: http://www.snippr.de/social/img/logo.png]
    Kein Support für kommerzielle Scripts | Kein kostenloser Support via ICQ

  • Was mich interessieren würde, wäre der genaue Aufbau der Datei. Im Moment würde ich mal behaupten, dass das Script viel zu kompliziert aufgebaut ist und man das locker vereinfachen könnte. Da man aber weder die Datei kennt, noch bei den Variablen wirklich auf die Schnelle durch den Quellcode steigt, habe ich keine Lust, mir da mehr Gedanken darüber zu machen.

  • Jau, mit Kanonen auf Spatzen schießen. Wozu ereg_replace und nicht trim? Und bitte mein Posting von13:21 Uhr beachten.

  • Frage: Was sollen die<?, /* */ und ?> in der Datei? Warum arbeitest du nicht einfach mit Timestamps?

    Anzahl
    ip|timestamp
    ip|timestamp
    ip|timestamp
    ip|timestamp
    ip|timestamp
    ip|timestamp

  • Die sind nur, damit mans nicht einfach so auslesen kann.
    Mit trim werden immer noch die Umbrüche eingefügt.

    Aber der Fehler muss frühestens bei der for-Schleife liegen.
    Ich hab mir mal die Arrays ausgeben lassen.

    Es klappt wirklich alles, es kommen nur immer diese Umbrüche.

    Viele liebe Grüße
    The User

  • Zitat von The User

    Die sind nur, damit mans nicht einfach so auslesen kann.


    Was wäre daran so dramatisch, wenn man so eine Datei auslesen könnte? Man kann diese Datei auch einfach in einen geschützen Bereich ablegen und gut ist.
    Auf die Schnelle zusammengebastelt und ungetestet:

  • Zitat von The User

    Wie schütze ich eigentlich ein Verzeichnis ohne htaccess


    Man könnte da was mit Session basteln, das funktioniert aber dann nicht mit Textdateien. Die einfachste Lösung ist ein Verzeichnis außerhalb des Dokument-Root-Verzeichnisses. Ob das bei dir geht, kannst du daran feststellen, dass du nicht sofort im richtigen Verzeichnis bist, wenn du dich mit deinem FTP-Client einloggst.

  • phpfan, du bist der Größte!
    Hab noch nen paar Kleinigkeiten am Zähler verändert und es klappt!

    Aber wie ist das mit Verzeichnisschutz?
    Also bei normalen Verzeichnissen?
    Hast du vielleicht nen Link?

    Danke, danke, danke
    The User

    EDIT: Ah, ich lande in nem anderen Verzeichnis, interessiert mich aber dennoch.

  • Ohne htaccess funktioniert das mit Text-Dateien nicht. Aber warum willst du diese Lösung nicht?

  • Ne, ich frage nur aus Interesse, hab ja nichts gegen diese Lösung.
    Denn Zugriffe auf Seiten, Skripts etc. zu sperren, vermag ja selbst ich. :)
    Aber ganze Verzeichnisse haben auch etwas...
    Naja, so ein externes Verzeichnis ist ja wohl doch so ziemlich die einfachste Lösung.
    Aber nochmal :danke: für die Hilfe, sowohl beim Zähler als auch mit dem Verzichnisschutz.

    Viele liebe Grüße
    The User