Mailinglisten-Archive |
Aloha, > ---------- > Von: Christian Bader[SMTP:christianbader_(at)_gmx.net] > > Komisch ist folgendes: > > den String bekomme ich aus einem mehrzeiligen Textfeld aus einem Formular. ... > <?php > $zeile = chop($mail) . "|" . chop($betreff) . "|" . chop($text) . "\n"; > $file = fopen("gaestebuch.txt", "a"); > fputs($file, $zeile); > fclose($file); > echo "eintrag abgeschlossen!!!"; > ?> > > Im File steht dann (leider) z. Bsp: > > papst_(at)_vatikan.va|Nomen est Omen...|Hallo Jochen, > christianbader_(at)_gmx.net|Nomen est Omen...|hi, > schöne seite! > Einfache Lösung: a) dein Script ist völlig korrekt. es Trägt die Zeilen so ein wie es soll, AUSSER b) diese Zeile: > hi, > schöne seite! > Das sieht so aus, als ob der Absender einen Zeilenumbruch mit in den Text gepackt hat, was man z.B. in einer <textarea> machen kann. Die Browser übertragen das teilweise. Entweder du stellst das ab (wie weiss ich grad nicht, steht aber im Selfhtml beim Formular- feld Textarea) Oder du filterst aus $text alle Zeilenumbrüche mit regexp raus (was mir zu Blöd wär, weil dann sind sie ja weg) oder du missbrauchst grob die Befehle urldecode und urlencode. Dann kannst du die Zeile > $zeile = chop($mail) . "|" . chop($betreff) . "|" . chop($text) . "\n"; durch die Zeile > $zeile = chop($mail) . "|" . urlencode(chop($betreff)) . "|" . chop($text) > . "\n"; ersetzen, und beim Auslesen wendest du urdecode an. Viele Grüße, Mathias
php::bar PHP Wiki - Listenarchive