Formular, Textarea und Datenbank

Virginia

Ensign
Registriert
Aug. 2005
Beiträge
133
Ich hab hier ein Formular, dessen Werte nach Absenden in eine Datenbank eingetragen werden.

Mit Textfeldern ist das alles kein Problem... nur textareas werden natürlich nicht übernommen.

Kann mir (als halbwegs-Anfängerin) jemand erklären, wie ich das lösen kann?
 
Wenn du uns jetzt noch sagst, wo genau dein Problem liegt, können wir dir auch helfen. Liegt es in PHP und darin, die textarea auszulesen? Oder an dem Übertragen des Inhaltes der textarea an die Datenbank?

Am besten wäre es, wenn du mal den Code-teil postest, bei dem du Probleme hast.
 
du musst der textarea auch ein name-Attribute verpassen und dann genau wie bei den Textfeldern auslesen
 
ich verstehe auch nicht so recht wo das problem ist o0

du liesst <input> sachen genauso aus wie <textarea>, außer ggf. die formatieren, also smileys ändern BB-Code etc.

ansonsten guck mal auf hier , da bekommst du immer gute tips, auch im forum (ich hoffe man darf hier auf andere foren verweissen, ansonsten tut mir mein fehler leid)
 
PHP:
[...]
<textarea cols="50" rows="5" name="xyz"></teaxtarea>
<!-- Das kann man dann mit PHP und dem $_POST Array oder bei get => $_GET auslesen -->
<?php
$sql="INSERT INTO 'tabelle' ('id', 'feld2', 'usw.') ".
         "VALUES ('', '$_POST[xyz]', '$_POST[anderesformfeld]')";

if (mysql_query($sql)) {
echo "Eintrag war erfolgreich";
}
else {
echo "Eintrag konnte leider nicht eingetragen werden";
}
?>

So, oder so ähnlich müsste das funktionieren.

Pilly
 
Zuletzt bearbeitet: (?> vergessen am Ende des PHP-Codes)
poste doch mal den Teil deinse Codes, der das Formular ausgiebt und den Teil der das in die Datenbank schriebt, dann kann ich dir auch helfen ;)
 
Mein Problem ist ein bisschen anders.

Also ich habe in einem Formular eine Textarea:
PHP:
<textarea name="meldung" cols="40" rows="3"></textarea>

Was ich da reinschreibe, wird auch richtig in die Datenbank eingetragen:
PHP:
$meldung = $_POST["meldung"];

	$eintrag = "INSERT INTO news (headline, bild, meldung, linkeins, linkeinstext, linkzwei, linkzweitext,
	linkdrei, linkdreitext, autor, eintragungsdatum, quelle, ablauftag, ablaufmonat, ablaufjahr, ablaufdatum) 
	VALUES('$headline', '$bild', '$meldung', '$linkeins', '$linkeinstext', '$linkzwei', '$linkzweitext', 
	'$linkdrei', '$linkdreitext', '$autor', '$eintragung', '$quelle', 
	'$ablauftag', '$ablaufmonat', '$ablaufjahr', '$ablaufdatum')";
	$eintragen = mysql_query($eintrag) or die ('error making query');

Ich habe dann aber noch ein Formular zum Editieren. Sieht genauso aus, wie das zum Neu-Erstellen, nur dass dann in jedem Feld steht, was bereits eingetragen ist. Die Einträge kann man dann verändern.
Probleme dabei macht nur das Meldungs-Feld, denn das bleibt leer. So sieht der Code im Editier-Formular aus:
PHP:
	$query = "SELECT * FROM news 
			WHERE id='$id'";
			
$result = mysql_query($query, $connection) or die('error making query');
	
$zeile = mysql_fetch_array($result);
$meldung = $zeile['meldung'];

<form name="newsedit" method="post" action="news-edit2.php">

  <table width="60%"  border="0" cellspacing=10 align="center">

    <tr>
      <td>Meldung:</td>
      <td><textarea name="meldungneu" value="<?echo $meldung ?>" cols="40" rows="3"></textarea>
</td>
    </tr></table></form>
 
ja sag das doch direkt


für textarea gibt es kein "value" attribut!

das muss so aussehen

Code:
<textarea name="meldungneu" cols="40" rows="3"><?php echo $meldung; ?></textarea>

ein kleiner tipp noch: verwende für die PHP-Öffnen Tags, bei dir "<?" lieber diese schreibweise: "<?php" (ohne anführungszeichen)

dann gibts auch bei einem serverwechsel keine probleme.. short_tags sind bei vielen Anbietern abgestellt!
 
>short_tags sind bei vielen Anbietern abgestellt!
Ist das so? Gut zu wissen... benutze nämlich aus faulheit auch nur noch <? :)
 
Zurück
Oben