Formularinhalt in Datein speichern
bearbeitet von JuliusHallo Vivien,
> 1. Überschreibt der Befehl auch den aktuellen Inhalt, was ich bräuchte?
Genau, standardmäßig überschreibt file_put_contents die Dateien, sofern sie bereits existieren. Bei [PHP.net stehen zu dieser Funktion](https://secure.php.net/manual/de/function.file-put-contents.php) noch weitere Infos und Beispiele, ich habe noch nichts entdeckt, dass besser dokumentiert wäre als PHP.
> 2. Wie baue ich das ein?
>
> > ~~~php
> > <?php
> > file_put_contents('pfad/zur/datei1.txt', $_POST['name_des_formularfelds1']);
> > file_put_contents('pfad/zur/datei2.txt', $_POST['name_des_formularfelds2']);
> > ?>
> > ~~~
>
> Füge ich das einfach unter das Formular oder gebe ich dem Formular das Attribut
>
> ~~~html
> <form method="post" action="write.php">
> ...
> </form>
> ~~~
>
> ...und schreibe das file-put_contents dann in dir "write.php"?
Das geht beides. Letzteres ist vielleicht erst einmal übersichtlicher.
Am besten überprüfst du auch noch den Rückgabewert der Funktion:
~~~php
$text1 = file_put_contents('Datei.txt', $_POST['formularfeldname']);
if($text1 === true)
{
echo 'Daten erfolgreich gespeichert!';
}
else
{
echo 'Hm, das hat nicht geklappt, bitte Speichern wiederholen.';
}
~~~
> Also die Abfrage auf der Startseite erfolgt wie folgt:
>
> ~~~php
> <h5><?php echo htmlspecialchars(file_get_contents('pfad/zur/datei1.txt')); ?></h5>
> <p><?php echo htmlspecialchars(file_get_contents('pfad/zur/datei2.txt')); ?></p>
> ...
> ~~~
Ich habe im obigen Zitat einfach mal htmlspecialchars eingefügt.
Wenn du in deinen .txt-Dateien HTML-Code speichern möchtest, müsstest du das (von mir eingefügte) htmlspecialchars weglassen – willst du beispielsweise <em>Text</em> ausgeben, aber nicht **Text** (HTML soll vom Browser hier nicht interpretiert werden), müsstest du <em>Text</em> in dir txt schreiben, damit das anfangs genannte Ergebnis herauskommt.
Die Frage ist hier, also ob in deinen txt-Dateien HTML-Code oder nur reiner Text „plain text“ stehen soll.
> > PHP ist keine schwierige Sprache, vielleicht schaust du dir diese Einführung an – es lohnt sich:
> > [http://www.schattenbaum.net/php/](http://www.schattenbaum.net/php/)
>
> Danke für den Tipp! Ich hab mir vorgenommen, PHP in einer ruhigen Minute mal durchzugehen.
Klar, Ruhe und Zeit zum experimentieren braucht man unbedingt!
Gruß
Juliu