Andi: Zeilenumbruch bei *.txt mit PHP (fwrite)

Beitrag lesen

Hello,

Du legst jezt mal fest, welche Datenfelder du benötigst

Feldname        |  enthält
 ----------------|---------------------------
 laufende Nummer | 0-9
 Datum           | 0-9 .
 Titel           | Ziffern und Buchstaben (inkl. Umlate und
                   Satzzeichen
 Inhalt          | Ziffern und Buchstaben (inkl. Umlaute) und
                   Satzzeichen und Sonderzeichen
 Name des Autors | Ziffern und Buchstaben (inkl. Umlaute) und
                   Satzzeichen und Sonderzeichen

Kommt in einem dieser Felder ein Zeilenumbruch vor oder könnte eine MÜ drinstehen?

Es braucht im Prinzip kein Zeilenumbruch stehen, weil die Html Tabelle richtet sichs dann eh her wie sie es braucht, das gibt sonst wieder nur formatschwierigkeiten mit HTML!

Und welches zeichen wir erübrigen können aus dem Zeichsatz für die Trennung der Felder innerhalb des Satzes.

ich denke µ dürfte den dienst gut erfüllen!

Ich plädiere dazu, ein chr(4) für die Trennung der Felder zu benutzen und ein chr(127) für den Fall, dass in einem Datenwert ein Zeilenumbruch vorkommen muss. Das hat sich bewährt. Weder #127 noch #4 lassen sich auf normalem Wege über den Browser in die Datenwerte bringen, und sie hätten auch keinen echten Nutzen. Also können wir die Daten zur Sicherheit erst von diesen Zeichen befreien. Sollten doch welche vorkommen, dann hat der User gemogelt und wir können sie entweder irreversibel durch #32 (Leerzeichen) ersetzen, oder wir brechen mit einer DuDu-Meldung ab.

Gibt es eine Tabelle für die ganzen chr(x)?? Ist ein bisschen verwirrend!!

In Textareas kommen mit Vorliebe Zeilenumbrüche vor. Die erstezen wir dann gegen #127. Dann addieren wir die Felder zu einem String, immer durch #4 getrennt. An das Ende des Strings hängen wir unsere Konstante N und fertig ist der Datensatz.

Es hat sich bewährt, wenn alle abzuspeichernden Daten im Formular bereits als Array vorbereitet werden.

<input type="text" ... name="data[author]">
  <input type="text" ... name="data[title]">
  <textarea name="data[text]"></textarea>

usw.

Dann kann man nämlich im Script alles per Schleife abarbeiten lassen.

Die daten kommen dan ja in

$_POST['data']['author']
$_POST['data']['title']
$_POST['data']['text']

an, und man kann wunderschön mit foreach($_POST['data'] as $val) arbeiten...

Ausgezeichnet d.h. alle eingabefelder author, title und text sind am schluss dann in der varbiablen $val gespeichert? wie speichert man die Werte dann in die einzelenen Felder und wie spricht man diese wieder an?
Sind in $val vielleicht die einzelnen arrays gespeichert und nicht die werte???

thx lg Andi