String kommt nicht wie erwartet bis zur Datenbank
Kai
- php
Hallo,
ich bastel momentan ein recht simples Eingabeformular. Nach Eingabe der Daten kommt ein Vorschau-Fomular, in dem die eingegebenen Daten nochmal angezeigt werden und in ein hidden-input-Tag geschrieben werden. Nach Bestätigung soll das dann in die Datenbank geschrieben werden. Ich habe jetzt schon diverse Varianten ausprobiert, stehe aber doch ziemlich auf dem Schlauch, ich weiß wo das Problem liegt, habe aber keine Idee, wie ich es beheben kann.
Mal angenommen die ursprüngliche Angabe war:
Hallo, wie geht's? Das ist ein "Sonderzeichen".
Dieser String wird dann $html_text zugewiesen. Dann hätte ich zwei Möglichkeiten ein Input-Field auszugeben:
1.) <input type="hidden" name="frm_html_text" value="<?echo $html_text;?>
oder
2.) echo "<input type='hidden' name='frm_html_text' value='".$html_text."'>";
Bei 1.) würde der String in der Datenbank dann "Hallo, wie geht's? Das ist ein " heißen.
Bei 2.) würde der String in der Datenbank dann "Hallo, wie geht" heißen.
Es ist mir klar, dass der Wert nicht vollständig übertragen wird, und dass das am Anführungszeichen liegt, aber wie kann ich das umgehen?
Viele Grüße
Kai
Nabend Kai,
Es ist mir klar, dass der Wert nicht vollständig übertragen wird, und dass das am Anführungszeichen liegt, aber wie kann ich das umgehen?
Schau dir einmal die Funktionen
addslashes() und stripslashes() an, auch htmlspecialchars() könnten dir weiterhelfen.
Bis denne,
Schau dir einmal die Funktionen
addslashes() und stripslashes() an, auch htmlspecialchars() könnten dir weiterhelfen.
Hallo Hubert,
danke, die Funktion htmlspecialchars() hat geholfen, add- und stripslashes hatte ich zuvor schon ausprobiert, half aber nichts.
Grüße,
Kai
Nachtrag:
Funktioniert dann aber auch nur mit der ersten Variante, also:
<input type="hidden" name="frm_html_text" value="<?echo htmlspecialchars($html_text);?>
Bei der zweiten Variante bleibt das Script von der Funktion unbeeindruckt.
hi,
Bei der zweiten Variante bleibt das Script von der Funktion unbeeindruckt.
dann hast du die funktion da noch falsch eingebaut.
gruss,
wahsaga