roze
26.02.2003, 21:57:44
Hallo Leute, habe folgendes Problem:
Ich habe mir ein Formular für längere Textmitteilungen geschrieben.
Diese Textmitteilungen werden in einer Mysql-Datenbank gespeichert. Das funktioniert auch alles einwandfrei.
Nur bei der Verwendung von Anführungszeichen im Textfeld ergibt sich folgendes Problem:
Schicke ich das Formular direkt ab werden die Anführungszeichen von der Bearbeitungsroutine richtig angezeigt.
Lasse ich mir jedoch von der Mitteilung zuerst eine Vorschau anzeigen und schicke es dann ab, wird alles ab dem ersten Anführungszeichen durch einen Backslash ersetzt, z.B.:
im Formular: "TEST"
in der Vorschau: "TEST"
in der Auswertung nach direktem abschicken: "TEST"
in der Auswertung nach abschicken aus der Vorschau:
an was liegt das??
hier ist Codestück des formulars:
echo "<form action="file.php" method="POST">";
echo "<textarea name="message"><textarea>";
echo "<input type="submit" value="Abschicken" name="send">";
echo "</form>";
hier das codestück des vorschau-skripts:
$message = $_POST["message"]; // Übergabe aus dem Formular
echo $message;
echo "<form action="file.php" methos="POST">";
echo "<input type="hidden" name="message" value="$message">";
echo "<input type="submit" value="Abschicken" name="send">";
echo "</form>";
hier das Codestück des Post-Scripts:
$message = $_POST["message"]; // Übergabe aus dem Formular
$db = mysql_connect();
$res = mysql_db_query($db_name, "insert table values ( '$message' )");
mysql_close($db);
und das Codestück des Auswertungs-Scripts:
$db = mysql_connect();
$res = mysql_db_query($db_name, "select * from table");
$anz = mysql_num_rows($res);
for ($i=0; $i < $anz; $i++) {
$text = mysql_result($res, $i);
echo $text;
}
mysql_close($db);
Ich habe mir ein Formular für längere Textmitteilungen geschrieben.
Diese Textmitteilungen werden in einer Mysql-Datenbank gespeichert. Das funktioniert auch alles einwandfrei.
Nur bei der Verwendung von Anführungszeichen im Textfeld ergibt sich folgendes Problem:
Schicke ich das Formular direkt ab werden die Anführungszeichen von der Bearbeitungsroutine richtig angezeigt.
Lasse ich mir jedoch von der Mitteilung zuerst eine Vorschau anzeigen und schicke es dann ab, wird alles ab dem ersten Anführungszeichen durch einen Backslash ersetzt, z.B.:
im Formular: "TEST"
in der Vorschau: "TEST"
in der Auswertung nach direktem abschicken: "TEST"
in der Auswertung nach abschicken aus der Vorschau:
an was liegt das??
hier ist Codestück des formulars:
echo "<form action="file.php" method="POST">";
echo "<textarea name="message"><textarea>";
echo "<input type="submit" value="Abschicken" name="send">";
echo "</form>";
hier das codestück des vorschau-skripts:
$message = $_POST["message"]; // Übergabe aus dem Formular
echo $message;
echo "<form action="file.php" methos="POST">";
echo "<input type="hidden" name="message" value="$message">";
echo "<input type="submit" value="Abschicken" name="send">";
echo "</form>";
hier das Codestück des Post-Scripts:
$message = $_POST["message"]; // Übergabe aus dem Formular
$db = mysql_connect();
$res = mysql_db_query($db_name, "insert table values ( '$message' )");
mysql_close($db);
und das Codestück des Auswertungs-Scripts:
$db = mysql_connect();
$res = mysql_db_query($db_name, "select * from table");
$anz = mysql_num_rows($res);
for ($i=0; $i < $anz; $i++) {
$text = mysql_result($res, $i);
echo $text;
}
mysql_close($db);