Andavos: Bestimmte Daten löschen

Hallo,
ich hab ein Forum programiert (was ganz einfaches.... ohne Datenbank).

Wenn man ein neues Thema erstellt, dann fügt er einen Link auf der Index Seite (wo die Themen angezeigt werden) dazu.

1. Ich wollte wissen, ob man überprüfen kann, ob es diese Datei (wo der Link hinverweist) überhaupt gibt, wenn ja, bitte mit Erklärung.

2. Ob ich durch einen Script bestimmte Links löschen kann, ohne die Datei runterzuladen.
Also das ich on gehe, und sage: Thema XYZ löschen.
Weenn das geht, dann bitte sagen wie

MFG
Andavos

  1. Hallo Andavos,

    ob man überprüfen kann, ob es diese Datei überhaupt gibt

    file_exists()

    Ob ich durch einen Script bestimmte Links löschen kann

    Wie meinst du das? Den entsprechenden "Text" aus der Datei entfernen oder
    die Datei löschen?
    Für ersteres: Datei einlesen, entsprechenden Text entfenen, Datei neu schreiben.
    Für zweiteres: unlink()

    Also das ich on gehe, und sage: Thema XYZ löschen.

    Dazu musst du dir dann ein entsprechendes Interface bauen :)

    Die genannten Funktionen findest du im Manual gut beschrieben.

    Grüße
      David

    --
    >>Nobody will ever need more than 640k RAM!<<
    1981 Bill Gates
    1. Hallo,

      ok danke.

      Aber mit "Ob ich durch einen Script bestimmte Links löschen kann" mein ich, das ich die Verlinkung aus der Index Seite raus haben will.

      Und da sind ja einige Links drin, deswegen kann ich nicht den ganzen Inhalt löschen, sondern ich möchte nur den einen Link löschen

      1. Hallo Andavos,

        das ich die Verlinkung aus der Index Seite raus haben will.

        Nunja, da kommt es darauf an, wie du diese erstellst. So wie mir erscheint,
        ist das eine statische Seite. Dann musst du sie wie geschrieben immer ganz einlesen,
        den Link suchen (du kennst ja sein Ziel, daher dürfte das nicht zu schwer
        sein, ihn zu identifizieren und danach wieder die Datei zu speichern.
        Sinnvoller wäre es aber, wenn du jene Seite dynamisch erstellst. Sprich du
        hast irgendwo eine Datei, in der die Links zu den Postings stehen. Dann müsstest
        du beim Entfernen eines Postings auch nur hier den Link noch löschen.
        Die index-Seite selbst liest dann jene Datei ein und generiert daraus
        dann die Themenübersicht.

        Grüße
          David

        --
        >>Nobody will ever need more than 640k RAM!<<
        1981 Bill Gates
        1. Hallo,

          die datei sieht so aus:

          <a href=SEITE.php>BETREFF</a>

          Und wie soll die Dynamisch machen?

          <?
          include("LINKS.php"
          ?>

          <?
          include("BETREFF.php"
          ?>

          <?
          echo "<a href=$links">$betreff</a>
          ?>

          so in etwa?

          1. Hallo Andavos,

            Ich glkaube, so kan nich dir nicht weiterhelfen. So genau verstanden habe
            ich immer noch nicht, wie dein Forum und deren Hauptdatei eigentlich
            aufgebaut ist bzw. aufgebaut wird.
            Hast du irgendwo schon ein Beispiel zum Anschauen und Testen online?

            Grüße
              David

            --
            >>Nobody will ever need more than 640k RAM!<<
            1981 Bill Gates
            1. Hallo,
              jo hab ich
              http://www.100mb4free.de/andavos/forum/forum.php

              Das Prinzip ist so:

              Der User möchte ein neues Thema erstellen. Dafür füllt er Name + Betreff + Frage in einen Formular aus.
              Das Formular sendet die Daten an einen PHP-Script.
              Dieser Script erzeugt erst eine Zufalls Kombination. Diese Kombination wirde dann benutzt, um dem Thema eine eigene Datei (.php) zu zuweisen. So hat jedes Thema eine eigene Datei.

              Dann wird der Betreff + Link in die Themenübersicht geschrieben.
              Das sieht dann ca. so aus:
              <a href=AG54VB86G.php>Hilfe bei PHP</a><br>
              <a href=46GH80NG8.php>Nette Sites</a><br>
              ...

              Wenn der User auf Antworten drückt, wird übermittel (mit hilfe von einem Formular das man nicht sieht (hidden)), wo er die ANtwort rein schreiben soll.
              Er öffnet dann die Datei und fügt die Antwort unten dran.

              1. Hallo Andavos,

                <a href=AG54VB86G.php>Hilfe bei PHP</a><br>
                <a href=46GH80NG8.php>Nette Sites</a><br>

                Ich nehme einmal an, dies ist der Inhalt einer Datei, die du später in der
                forum.php includest, oder? Das meine ich mit einem mehr oder weniger statischem
                Aufbau. Jetzt musst du beim Löschen eines Themas diese Datei öffnen und (ich
                denke am besten mittels eines regulären Ausdrucks) die Zeile bzw. den
                Abschnitt ausfindig machen, in dem der Link steht. Der Regexpr. muss also
                "<a href=[Zufallskombination].php>[irgendwelche Zeichen]</a><br>[Whitespaces]"
                finden und durch einen Leerstring ersetzen.
                IMHO ist das aber etwas umständlich. Du kannst besser eine Datei anlegen, in
                der pro Zeile eine Zufallskombination und das Thema steht (zB: in der Form
                "AG54VB86G|Hilfe bei PHP"). Diese Datei liest du in der forum.php mittels file()
                ein und "explodest" dir die die beiden Daten. Das ganze machst du in einer
                Schleife und gibst so deine Hauptseite "dynamisch" aus.
                Beim Löschen liest du ebenfalls die Datei per file() ein und überprüfst dann
                Stüc für Stück, ob sie mit "[Zufallskombination]" beginnt. Wenn ja, so
                löscht du das Array-Element (unset) und speicherst danach das Array wieder
                als Datei.
                Allerdings ist das nur das, was ich als einfacher zu handhaben beurteilen
                würde. Ob es ich in das bereits von dir erstelle einpassen lässt weiß ich
                nicht.

                Zudem möchtest du dich auch noch ein wenig mit CSS und so beschäftigen, oder? ;)

                Grüße
                  David

                --
                >>Nobody will ever need more than 640k RAM!<<
                1981 Bill Gates
                1. Hallo,
                  ja ich weiß das Design ist noch ...

                  Aber der Script ist für mich wichtiger ;)

                  Aber das mit dem Array wäre ne idee.