+ Auf Thema antworten
Zeige Ergebnis 1 bis 3 von 3

Thema: Feldtyp text und textarea

  1. #1
    Registrierungsdatum
    Jul 2002
    Ort
    NRW
    Beiträge
    142

    Feldtyp text und textarea

    Hallo!

    Ich hätte diesen Eintrag auch in Skriptsprachen packen können, aber hier war schon ein Jahr nichts mehr los... ;-)

    Mein Problem: Ich habe eine textarea mit cols = 70. Diesen Wert schreibe ich in ein Datenbankfeld vom Typ text (65.535 Zeichen). Die Länge sollte also theoretisch unbegrenzt sein bzgl. Zeilenumbruch. Wenn jetzt jemand in dieses Textfeld einen Link einträgt, wird dieser in der Datenbank mittendrin umgebrochen. Und zwar nach 64 (70?) Zeilen. Ohne /n oder sonstwas. Dieses erschließt sich mir nicht. Dadurch ist der Link natürlich Müll und unbrauchbar.

    So sieht es dann exemplarisch in der DB aus:
    Code:
    Test<br />
    <br />
    <a href=href=http://www.zeit.de/newsticker/2008/8/15/iptc-bdt-1
    0080716-72-27108714xml>Der Link</a>
    Eingetragen im Formular habe ich:
    Test
    Der Link

    Zählt man das "<br />" der zweiten Zeile dazu, käme man genau auf den Cols-Wert von 70. Der Wert cols dürfte doch nur für die Anzeige zur PHP-Generierung maßgeblich sein?! Die eigentliche Länge habe ich noch mit maxlength = 160 angeben.

    Warum geschieht ein Umbruch bei der Eintragung in die MySQL-Datenbank?

    Bin für jeden Tipp dankbar.
    Neunzig Prozent aller Fehler sitzen 50 cm vor dem TFT.

  2. #2
    Registrierungsdatum
    Jun 2002
    Beiträge
    153
    Hallo Nano!

    Der Umbruch nach <br /> ist normal. Das "cols" beim textarea ist nur für die Anzeige. Möglicherweise ergibt deine Zählung der zweiten und dritten Zeile zufällig 70 Zeichen. Wobei du normalerweise für den Umbruch nach <br /> auch noch zwei Zeichen dazurechnen musst.

    Was mich etwas stutzig macht, ist der Link. Zusammengesetzt (http://www.zeit.de/newsticker/2008/8/15/iptc-bdt-10080716-72-27108714xml) – fehlt da ein Punkt vor xml? – kann man unter der Adresse bei zeit.de nichts finden. Ist die Adresse denn so richtig? Was mir dazu einfallen würde: Zwischen ...-1 und 00... steht etwas, das MySQL als Trennzeichen interpretiert. Gib doch bitte mal den korrekten Link an und den relevanten Teil des Formulars und der Datenverarbeitung. Hast du mal geprüft, was dir das Formular übermittelt ($_POST['textareaname'])? Übergibst du den Inhalt des Formularfeldes mit mysql_real_escape_string an den MySQL-INSERT-Befehl?

  3. #3
    Registrierungsdatum
    Jul 2002
    Ort
    NRW
    Beiträge
    142
    Vielen Dank für deine Mühen Beamer! Ich komme leider erst jetzt zu einer Antwort und kann mich wieder mit dem Thema beschäftigen.

    Der Link war in der Tat nur ein Beispiel. Führt ins Nichts. Aber es ist bei allen Links so.

    Gerade eben habe ich den Fehler dann noch selber gefunden. Man muss nur mal mit Verstand dran gehen. Sorry wegen deiner Zeit. :-(

    Hier lag das Problem:
    PHP-Code:
    $nachricht eregi_replace('[^[:space:]]{60}''\0\n'$nachricht); 
    Ich brauche nicht zu schreiben weshalb... Zu peinlich.
    Neunzig Prozent aller Fehler sitzen 50 cm vor dem TFT.

+ Auf Thema antworten

Forumregeln

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts