Bestimmte Daten löschen
Andavos
- php
0 David Tibbe0 Andavos0 David Tibbe0 Andavos0 David Tibbe0 Andavos0 David Tibbe0 Andavos
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
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
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
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
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?
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
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.
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
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.