php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2008

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 09.11.2008, 16:02  
Neuer Benutzer
 
Registriert seit: 09.11.2008
Beiträge: 18
Randy1990 befindet sich auf einem aufstrebenden Ast
Standard [Erledigt] Zeilenumbruch in textarea nicht abspeichern

Hallo,
ich bin neu im php-Bereich und habe folgendes Problem:

Wenn ein Benutzer in einem Formular in einen mehrzeiligen Eingabebereich ein "Return" - also einen Zeilenumbruch - eingibt, wird dieser in einer txt-Datei mit abgespeichert. Das möchte ich jedoch verhindern, da ein Zeilenumbruch das Trennungsmerkmal zwischen den einzelnen Beiträgen des Forums ist.

So sieht es im Formular aus:

Beitragsfeld:
Dies
ist
ein
Autor: Name

Ausgabe:

Beitrag: Dies
Autor: ist

Beitrag: neu
Autor: Name

statt:
Beitrag: Dies ist neu
Autor: Name

Ich weiß, dass ich mit der Funktion str_replace arbeiten muss, bekomme es aber nicht.

Kann mir jemand helfen?

Daaaaaaanke schön im Voraus.
Randy1990
Randy1990 ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 09.11.2008, 18:16  
Moderator und Wett-König
 
Benutzerbild von dr.e.
 
Registriert seit: 21.05.2008
Beiträge: 3.657
PHP-Kenntnisse:
Fortgeschritten
dr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblick
dr.e. eine Nachricht über Skype™ schicken
Standard

-> str_replace("\n",'',...)
-> preg_replace("\n",'',...)
__________________
Viele Grüße,
Dr.E.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1. Think about software design before you start to write code!
2. Discuss and review it together with experts!
3. Choose good tools (-> Adventure PHP Framework (APF))!
4. Write clean and reusable software only!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dr.e. ist offline  
Alt 09.11.2008, 18:29  
Erfahrener Benutzer
 
Registriert seit: 24.05.2008
Beiträge: 173
PHP-Kenntnisse:
Anfänger
Griffith sorgt für eine eindrucksvolle AtmosphäreGriffith sorgt für eine eindrucksvolle Atmosphäre
Standard

Déja-vu
Griffith ist offline  
Alt 09.11.2008, 19:18  
Moderator
 
Registriert seit: 06.06.2008
Beiträge: 4.945
PHP-Kenntnisse:
Fortgeschritten
Wolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer Anblick
Wolla eine Nachricht über ICQ schicken
Standard

Es ist wohl besser, einen anderen Trenner zwischen den Beiträgen ausdenken, als die Eingaben der User zu verstümmeln.
__________________
Warum denkt mein Hund eigentlich immer dann, wenn es an der Tür klingelt, es sei für ihn?
Wolla ist offline  
Alt 09.11.2008, 20:17  
Erfahrener Benutzer
 
Registriert seit: 24.05.2008
Beiträge: 173
PHP-Kenntnisse:
Anfänger
Griffith sorgt für eine eindrucksvolle AtmosphäreGriffith sorgt für eine eindrucksvolle Atmosphäre
Standard

Wieso willst du den Kram überhaupt in einer Textdatei speichern?
Wieso nicht eine MySQL- oder SQLite-Datenbank nutzen?
Griffith ist offline  
Alt 09.11.2008, 20:21  
Supermoderator HD
 
Benutzerbild von Manko10
 
Registriert seit: 16.03.2008
Beiträge: 8.709
PHP-Kenntnisse:
Fortgeschritten
Manko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende Zukunft
Standard

Und sollen die Zeilenumbrüche in irgendeiner Art und Weise erhalten bleiben, sodass man sie später wiederherstellen kann? Dann könnte dir auch ein
PHP-Code:
$text addcslashes($text"\n"); 
helfen.
__________________
Refining Linux Advent Calendar series “24 Outstanding ZSH Gems
Manko10 ist offline  
Alt 10.11.2008, 10:49  
Neuer Benutzer
 
Registriert seit: 09.11.2008
Beiträge: 18
Randy1990 befindet sich auf einem aufstrebenden Ast
Standard

Danke für die Hilfe - ich werde es heute abend ausprobieren.
In der Aufgabenstellung des Lehrers ist vorgegeben, dass die Daten in einer Textdatei gespeichert werden müssen.

Gruß
Randy1990
Randy1990 ist offline  
Alt 10.11.2008, 21:04  
Neuer Benutzer
 
Registriert seit: 09.11.2008
Beiträge: 18
Randy1990 befindet sich auf einem aufstrebenden Ast
Standard

Hilfe - ich bin unfähig - bei mir klappt es nicht.

Ich habe ein Forum zu programmieren - ein mehrzeiliges Textfeld, ein Textfeld Autor:

Folgende Dateien habe ich:

1. forum.php

PHP-Code:
<?php
     
include ("forumfunktionen.php");
     if (isset (
$text)) beitrag_hinzufuegen();

     include (
"beitraege.php");
?>
<html>
      <head>
            <title> Forum</title>
      </head></html>
      <body>
            <h1> Willkomen beim Forum </h1>
            <b>Sagen Sie uns Ihre Meinung!</b><p/>
            <?php
            
if (!isset ($gesperrt))
                
formular_anzeigen()
            
?>
            <hr>
            <?php
                 
for ($i=0$i count ($beitrag); $i++) {
                 
beitrag_ausgeben ($beitrag[$i]);
                 }
                 
?>
            </body>
      </html>
2. forumfunktionen.php

PHP-Code:
<?php
     
function beitrag_ausgeben ($beitrag)  {
              print 
$beitrag ["text"];
              print 
"<br>Autor: ";
              print 
$beitrag ["autor"];
              print 
"<hr>";
     }

     function 
beitrag_hinzufuegen () {
              global 
$text$autor;

              
$texte file ("beitraege.txt");
              
$neuer_text $text;
              
$letzter_textindex count ($texte)-2;
              
$text=str_replace("\n",'',($text));
              if (
trim($texte[$letzter_textindex]) !=$neuer_text) {
                 
$datei fopen ("beitraege.txt""a");
                 
fputs ($datei"\n$neuer_text\n");
                 
fputs ($datei"$autor");
                 
fclose ($datei);
                 }
              }
              function 
formular_anzeigen () {
                       
?>
                       <form action="forum.php" method="POST">
                             Text: <textarea name="text" cols="50" rows="10"></textarea><br>
                             Autor: <input type="text" size=20 name="autor">
                             <p><input type="submit" value="Abschicken"
                             </form>
                       <?php
              
}
     
?>
3. beitraege.php

PHP-Code:
<?php
     $datei 
fopen ("beitraege.txt""r");
     
$i 0;
     
$beitrag null;
     while (!
feof($datei)) {
        
$temp fgets($datei1024);
        if    (
$temp != null) {
             
$beitrag[$i]["text"] = fgets ($datei1024);
             
$beitrag[$i]["autor"] =fgets ($datei1024);
             
$i++;
     }
     }
   
fclose ($datei);
?>
und dann 4. beitraege.txt

Wenn ich nun mehrere Zeilen im mehrzeiligen Textfeld eingebe, dann bringt die Ausgabe das reinste Chaos. Die 1. Zeile des mehrzeiligen Feldes wird korrekt ausgegeben. Die 2. Zeile als Autor. Der Autor als Beitrag des nächtes Eintrages usw.
Zwischenzeitlich bringt das Formular beim Aktualisieren den letzten Eintrag bei der Ausgabe erneut, obwohl nichts eingegeben wird.

Irgendwo habe ich den Wurm drin ... habt Ihr ne Idee?
Es handelt sich hier um eine Aufgabenstellung eines Lehrers ... habe daher leider keine Chance, es anders lösen zu können.

Gruß
Randy1990

Geändert von Randy1990 (10.11.2008 um 21:54 Uhr).
Randy1990 ist offline  
Alt 10.11.2008, 21:23  
Supermoderator HD
 
Benutzerbild von Manko10
 
Registriert seit: 16.03.2008
Beiträge: 8.709
PHP-Kenntnisse:
Fortgeschritten
Manko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende Zukunft
Standard

Bitte benutze [php]-Tags für Quellcode.
__________________
Refining Linux Advent Calendar series “24 Outstanding ZSH Gems
Manko10 ist offline  
Alt 10.11.2008, 21:26  
Neuer Benutzer
 
Registriert seit: 09.11.2008
Beiträge: 18
Randy1990 befindet sich auf einem aufstrebenden Ast
Standard

Hallo Manko,

/ edit

Gruß
Randy1990

Geändert von Randy1990 (10.11.2008 um 21:55 Uhr).
Randy1990 ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Einfügen von Text in Textarea per JS louis HTML, Usability und Barrierefreiheit 5 07.07.2008 15:13
Textarea mit Zeilenumbruch HSFighter HTML, Usability und Barrierefreiheit 8 22.10.2007 14:04
Textarea mit Zeilenumbruch Andi00 HTML, Usability und Barrierefreiheit 2 19.10.2007 20:44
<br /> nach Zeilenumbruch in textarea (Formular) Buschdieb HTML, Usability und Barrierefreiheit 5 22.07.2007 08:34
Textarea wird nicht richtig dargestellt nieselfriem PHP Tipps 2006 2 08.11.2006 11:31
Email aus Textarea mit falschem Zeilenumbruch HaraDej PHP Tipps 2006 7 10.05.2006 14:11
Textarea Feld dynamisch vergrößern und verkleinern? php_frage HTML, Usability und Barrierefreiheit 5 25.04.2006 08:42
[Erledigt] Zeilenumbruch bleibt erhalten - trotz entfernen? PHP Tipps 2005-2 3 16.10.2005 02:22
zeilenumbruch in einer textarea PHP Tipps 2005-2 27 16.08.2005 19:40
[Erledigt] Länge einer textarea ohne Leerzeichen PHP Tipps 2005-2 4 30.06.2005 15:59
Formulareingaben ab Zeilenumbruch in Textarea futsch PHP Tipps 2005 12 22.02.2005 19:05
Textarea ... Tschuu HTML, Usability und Barrierefreiheit 2 03.01.2005 14:13
Zeilenumbruch erzwingen PHP Tipps 2004 3 27.09.2004 13:06
[Erledigt] Probleme beim ausrichten von Textarea &amp; Button HTML, Usability und Barrierefreiheit 2 27.07.2004 14:17
mal wieder textarea ;) HTML, Usability und Barrierefreiheit 2 14.07.2004 08:35

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
zeilenumbrüche aus textarea speichern, php textarea richtig speichern r n, php5 zeilenumbrüche aus textfeld in date richtig speichern, umbrüche textarea verhindern, mehrzeilige eingabebereiche in datenbank abspeichern, zeilenumbruch nach form input verhindern, php text speichern und umbrechen, zeilenumbruch bei textarea speichern, wie werden zeilenumbrüche in textarea gespeichert, textarea zeilenumbruch speichern, wie text mehrzeilig speichern php, php mehrzeiligen eingabebereich textdatei speichern, php daten in txt speichern zeilenumbruch, php zeilenumbrüche aus textarea abspeichern, lösungsaufgabe zu php01, php01a str_replace, php textfeld ohne zeilenumbruch speichern, enter aus textarea werden nicht gespeichert, php sqlite zeilenumbruch entfernen, php textarea zeilenumbruch speichern

Alle Zeitangaben in WEZ +2. Es ist jetzt 17:14 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum