kostenloser Webspace werbefrei: lima-city


Textarea macht keine Zeilenumbrüche

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    m*****z

    Ich habe ein tag/problem">Problem!
    Auf http://www.onlineaffe.de/ habe ich vor 2 Tagen eine Kommentarfunktion eingefügt, das Problem: Es gibt keine Zeilenumbrüche.
    Bevor die Texteingaben in meine Datenbank kommen werden sie durch diese Funktion geschickt: "$_POST = array_map('mysql_real_escape_string', $_POST); " um mich vor Mysql Injections zu schützen. Vorher versuche ich aber alle "/n/r" und nur "/r" durch "<br>" zu ersetzten. Nur Funktioniert das nicht.
    Ich habe schon die nr2br() Funktion anstatt der str_replace() Funktion getestet, mit einer Fehlermeldung der "$_POST = array_map('mysql_real_escape_string', $_POST); " Funktion :( .

    Dann habe ich für wenige Sekunden meinen Mysql Injection Schutz entfernt und geguckt ob überhaupt ein "/n/r" übertragen wird, leider nichts.

    Heißt im Klartext gibt ein User das in die Textbox ein:
    Hallo
    Toll
    Gut

    Wird das in die Datenbank eingetragen:
    HalloToll Gut


    Hilfe sehr erwünscht!
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Versuchs mit der PHP-Funktion nl2br. nr2br gibts eh nicht wirklich und wenn nl2br einen Fehler verursacht, liegt dieser irgendwo anders in deinem Script ;)

    Beitrag zuletzt geändert: 25.11.2011 18:38:10 von fabo
  4. Autor dieses Themas

    m*****z

    monkeyz schrieb:
    Ich habe schon die nr2br() Funktion anstatt der str_replace() Funktion getestet, mit einer Fehlermeldung der "$_POST = array_map('mysql_real_escape_string', $_POST); " Funktion :( .


    Schon Probiert, leider bringt mir mysql_real_escape_string einen Fehler.

    Beitrag zuletzt geändert: 25.11.2011 18:39:47 von monkeyz
  5. Du musst die Zeilenumbrüche auch nicht durch
    /n
    , sondern durch
    \n
    ersetzen.


    Da Weiteres nicht klar erkennbar ist, kann ich dir aktuell nur noch diese drei Tipps geben:

    • Aus Textareas kommen
    \n
    , wo die Zeilenumbrüche sind.
    • Um Text in Textareas auszugeben, brauchst du
    \n
    für die Zeilenumbrüche.
    • Um Text außerhalb von Textareas auszugeben, brauchst du
    <br>
    für die Zeilenumbrüche.

    Beitrag zuletzt geändert: 25.11.2011 19:17:52 von drafed-map
  6. Autor dieses Themas

    m*****z

    So funktioniert!

    Habe preg_replace anstatt von str_replace genutzt:
    $_POST = preg_replace("/\r\n|\r|\n/i",  "<br>" , $_POST);


    Danke an euch!
  7. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!