Hello Stephan,
dedlfix hat Dir in seiner Antwort schon das CSV-Format zum Speichern empfohlen.
https://forum.selfhtml.org/?t=201988&m=1363584
Ich empfehle Dir noch eine andere Möglichkeit und möchte Dich gleichzeitig auch noch auf das Problem der Nebenläufigkeit hinweisen.
http://aktuell.de.selfhtml.org/artikel/programmiertechnik/dateisperren/
Wenn mehrere Clients über ihre Ressource-Scripte gleichzeitig auf die Datei zugreifen dürfen, was bei Webanwendungen fas immer der Fall ist, muss man die Zugriffe serialisieren. Während ein Request ein (Lesen + )Schreiben veranlasst, müssen die anderen einen Moment warten. Dabei müssen die Leseprozesse und die Schreibprozesse jeweils zu einem gebunden werden, damit niemand anderes dazwischenfunken kann.
Also mein Code ist:
<?php
$daten=$_POST[kommentar].'<br />von <a href="mailto:'.$_POST[mail].'">'.$_POST[name].'</a><br /><strong>'.date("d.m.’y, H:i").'</strong><br />';
$datenbank='daten.dat';
$datei=fopen($datenbank,'a');
fwrite($datei, $daten);
?>
>
> Hauptdatei:
> ~~~php
<?php
> $datenbank='daten.dat';
> $datei=fopen($datenbank, 'r');
> fpassthru($datei);
> ?>
Du hast ausßerdem die Anführungszeichen für die Elementbezeichner im $_POST-Array vergessen.
Mein Vorschlag deshalb:
Benutze die Funktionen serialize() und unserialize() und speichere einfach die Post-Daten atomistisch in diesem Array, also benutze für jedes gewünschte Element aus dem Post-Array auch ein Element im Datensatz des Speicherarrays.
Ich schreibe nachher noch etweas mehr dazu.
Schau dir schon mal die Funktionen an und lies den Artikel von Christian.
http://de.php.net/manual/en/function.serialize.php
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg