Marc: Zeilenumbruch

Hallo

Ich speichere den Inhalt einer Textarea in eine mysql tabelle ab. wenn ich nun den Inhalt an einem anderen ort auslese und nicht in einer textarea ausgebe, werden die zeilenumbrüche nicht mehr beachtet.
Was muss ich hier bei der ausgabe mit angeben, damit das klappt?

Besten Dank
Marc

  1. Hallo Marc,

    Ich speichere den Inhalt einer Textarea in eine mysql tabelle ab. wenn ich nun den Inhalt an einem anderen ort auslese und nicht in einer textarea ausgebe, werden die zeilenumbrüche nicht mehr beachtet.

    doch, werden sie - schau mal in den Quelltext.

    Was muss ich hier bei der ausgabe mit angeben, damit das klappt?

    du musst die Zeilenumbrücke durch ein '<br>' (bzw. '<br />') ersetzen - z.B. mit der Funktion nl2br() (->http://de.php.net/nl2br).

    Grüße aus Nürnberg
    Tobias

    --
    Selfcode: sh:( fo:) ch:? rl:( br:< n4:& ie:% mo:| va:) de:] zu:) fl:( ss:| ls:[ js:|
    1. Hello Marc,

      was viel wichtiger íst: Du solltest den Feldinhalt vorbehandeln, damit er überhaupt gefahrlos an MySQL übergeben werden darf. Ich habe Dir mal einen Musterzyklus mit Kommentaren aufgebaut. Sollte etwas fehlen, bitte ich um Ergänzung:

      $feldinhalt enthält die Daten aus der Textarea:

      $feldinhalt = $_POST["data"]["text1"];

      Standardmaskierung von PHP entfernen

      if(get_magic_quotes_gpc()) $feldinhalt = stripslashes($feldinhalt);

      MySQL-gerechte Maskierung betreiben (auch für Umbrüche)

      $feldinhalt = mysql_escape_string($feldinhalt);

      Daten in der DB speichern

      insert into table set FELDINHALT = $feldinhalt;

      Daten aus der DB holen

      select FELDINHALT from table where ID=last_insert_id();

      Datensatz aus dem Recordset holen.

      #...

      Feld zur Ausgabe in Textarea vorbereiten

      $feldinhalt = htmlentities($rec["FELDINHALT"]);

      Feld in textarea ausgeben

      echo "<textarea name="data[text1]">$feldinhalt</textarea>";

      Feld zur Ausgabe im HTML-Text vorbereiten

      $feldinhalt = nl2br($feldinhalt);

      Feld "normal" ausgeben

      echo $feldinhalt;

      Wichtig ist, dass nl2br() NACH htmlentities() ausgeführt wird.

      Grüße

      Tom