textarea
Simon
- php
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?
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
Das heißt:
<?php echo "<textarea name='anmerkung' rows=10 cols=50 wrap='off'>. $dsatz["anmerkung"].
</textarea>"; ?>
??
Hallo Simon!
Das heißt SELFHTML: HTML/XHTML / Formulare Eingabefelder und Eingabebereiche: Textvorbelegung bei mehrzeiligen Eingabebereichen ...
MfG
Götz
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.
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
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
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
Also das mit der select * wird schon begrenzt durch where ID=$ID
ic habe es nur weggelassen, dmit es übersichtlicher wird
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