\<textarea\>-php-Problem

O

onyx

Hallo,
ich habe folgendes Problem:
über ein Formular sollen Daten aufgenommen und in eine Datenbank eingetragen werden. Im Formular befinden sich u.a. auch <textarea>-Tags. Per Absenden-Button werden die Daten verarbeitet und in die Datenbank eingetragen.
Hier mal der relevante Code:
Formular:
Code:
<textarea name="lang2" cols="50" rows="10"></textarea>

Verarbeitung:
Code:
$lang2 = $_POST['lang2'];

Das Problem nun:
Alle anderen Inhalte werden richtig übernommen, nur aus nicht den <textarea>-Bereichen; d.h. wenn ich z.B. per
Code:
echo("'$lang2'");
den Inhalt ausgeben möchte, wird nur '$lang2' ausgegeben statt des Formularinhalts.
Woran könnte das liegen? Jemand eine Idee?
Falls mehr Infos notwendig sind, bitte melden.

Vielen Dank!
 
Um den Wert einer Variablen auszugeben, solltest Du auf die (in diesem Fall sinnlosen) Anführungszeichen verzichten, und statt dessen die Wert so oder gefiltert ausgeben:
PHP:
echo $lang2;

// oder noch besser, wenn der Inhalt aus der Benutzereingabe kommt, nie dem Benutzer vertrauen:

echo htmlentities ($lang2);

// Um noch zwei draufzusetzen: Falls der Benutzer Anführungszeichen eingab und diese abgespeichert wurden, kann es Back-Slashes geben. Und dann wandeln wir noch die Zeilenumbrüche um:

echo nl2br (stripslashes (htmlentities ($lang)));
 
Eine weitere Möglichkeit zur reinen Überprüfung ist var_dump()

Und für eine Art von Quotes solltest du dich entscheiden, entweder double- oder singles-Quotes... wobei single-Quotes wohl eher zum guten Ton gehören.
 
Hilarious schrieb:
PHP:
echo $lang2;

// oder noch besser, wenn der Inhalt aus der Benutzereingabe kommt, nie dem Benutzer vertrauen:

echo htmlentities ($lang2);

// Um noch zwei draufzusetzen: Falls der Benutzer Anführungszeichen eingab und diese abgespeichert wurden, kann es Back-Slashes geben. Und dann wandeln wir noch die Zeilenumbrüche um:

echo nl2br (stripslashes (htmlentities ($lang)));

Hallo,
aus Gründen der Übersicht habe ich die Bereinigung der Eingabe weggelassen. Ich habe das Problem auch behoben, ich hatte lediglich das '$'-Zeichen vergessen.

Vielen Dank.

MFG
 
onyx schrieb:
Hallo,
aus Gründen der Übersicht habe ich die Bereinigung der Eingabe weggelassen. Ich habe das Problem auch behoben, ich hatte lediglich das '$'-Zeichen vergessen.

Vielen Dank.

MFG

Ja, prima! :D
Viel Erfolg beim Programmieren!
 
Zurück
Oben Unten