Simon: textarea

Ich habe zwei Formulare. Beim 1. werden die DAten eingegeben, beim 2. werden die Daten angezeigt und gegebenenfalls geändert.
Ich habe ein Textarea-Feld. Der Eintrag beim 1. wird in die Datenbank gespeichert, das funktioniert:

<textarea name="anmerkung" rows=10 cols=50 wrap="off" value="<?php echo htmlspecialchars(stripslashes($anmerkung)); ?>"></textarea>

$anmerkung = ($_POST["anmerkung"]);

Beim zweiten soll jetzt der Inhalt angezeigt werden:

$res = mysql_query("select * from tabelle");
        $num = mysql_num_rows($res);
 $dsatz = mysql_fetch_assoc($res);
<?php echo "<textarea name='anmerkung' value='". $dsatz["anmerkung"]."' rows=10 cols=50 wrap='off'>
</textarea>"; ?>

Das Feld bleibt aber leer. Warum?

  1. Hallo!

    Beim zweiten soll jetzt der Inhalt angezeigt werden:

    $res = mysql_query("select * from tabelle");
            $num = mysql_num_rows($res);
    $dsatz = mysql_fetch_assoc($res);
    <?php echo "<textarea name='anmerkung' value='". $dsatz["anmerkung"]."' rows=10 cols=50 wrap='off'>
    </textarea>"; ?>

    Das Feld bleibt aber leer. Warum?

    Weil die Textarea kein Value Attribut kennt.
    <textarea>Hier ist der Text</textarea>

    mfg
      frafu

    1. Das heißt:

      <?php echo "<textarea name='anmerkung' rows=10 cols=50 wrap='off'>. $dsatz["anmerkung"].
      </textarea>"; ?>

      ??

      1. Hallo Simon!

        Das heißt SELFHTML: HTML/XHTML / Formulare Eingabefelder und Eingabebereiche: Textvorbelegung bei mehrzeiligen Eingabebereichen ...

        MfG
        Götz

        --
        Losung für Freitag, 4. November 2005
        Er sendet sein Gebot auf die Erde, sein Wort läuft schnell. (Psalm 147,15)
        Jesus sprach: Ihr sollt nicht meinen, dass ich gekommen bin, das Gesetz oder die Propheten aufzulösen; ich bin nicht gekommen aufzulösen, sondern zu erfüllen. (Matthäus 5,17)
        (Losungslink)
        1. Es funktioniert jetzt.

          Ich habe nur keine Ahnung, warum ich bei diesem Fall value weg lasen musste, um den Inhalt anzeigen zu lassen
          und bei einem anderen Fall das ganze mit value funktioniert. Ich bin genau den selben Weg gegangen.

          1. Simon, TEXTAREA hat kein Attribut namens VALUE. Der Wert steht immer zwischen <textarea> und </textarea>. Immer. :-) Ja, das ist bei den anderen FORM-Elementen anders!

            -- snorri

          2. hi,

            Ich habe nur keine Ahnung, warum ich bei diesem Fall value weg lasen musste, um den Inhalt anzeigen zu lassen
            und bei einem anderen Fall das ganze mit value funktioniert.

            Textarea hat kein value-Attribut in HTML, da kannst du dich auf den Kopf stellen. Möglich, dass du es mit einfachen Input-Feldern verwechselst.

            Ich bin genau den selben Weg gegangen.

            Du gehst offenbar den falschen Weg - du spielst mit PHP herum, bevor du HTML hinreichend beherrschst.

            gruß,
            wahsaga

            --
            /voodoo.css:
            #GeorgeWBush { position:absolute; bottom:-6ft; }
  2. Hallo Simon!

    Erstmal ein paar Anmerkungen:

    $res = mysql_query("select * from tabelle");

    siehe dclp FAQ: 16.14. Warum soll ich nicht SELECT * schreiben?.

    $num = mysql_num_rows($res);
    $dsatz = mysql_fetch_assoc($res);
    <?php echo "<textarea name='anmerkung' value='". $dsatz["anmerkung"]."' rows=10 cols=50 wrap='off'>
    </textarea>"; ?>

    Besser wär noch, alle Attribute in Anführungszeichen zu setzen.

    Das Feld bleibt aber leer. Warum?

    Bau Dir doch mal ne Debug-Ausgabe ein - wieviele Datensätze selektierst Du so denn?
    Lies mal PHP Handbuch: mysql_fetch_assoc durch, vielleicht fällt Dir dann auf, was möglicherweise nicht ganz so richtig sein könnte ...

    MfG
    Götz

    --
    Losung für Freitag, 4. November 2005
    Er sendet sein Gebot auf die Erde, sein Wort läuft schnell. (Psalm 147,15)
    Jesus sprach: Ihr sollt nicht meinen, dass ich gekommen bin, das Gesetz oder die Propheten aufzulösen; ich bin nicht gekommen aufzulösen, sondern zu erfüllen. (Matthäus 5,17)
    (Losungslink)
    1. Also das mit der select * wird schon begrenzt durch where ID=$ID

      ic habe es nur weggelassen, dmit es übersichtlicher wird

      1. Hallo!

        Also das mit der select * wird schon begrenzt durch where ID=$ID

        Das eine hat mit dem anderen überhaupt nichts zu tun. Lies dir den FAQ Link  mal durch.

        mfg
          frafu