Supportnet / Forum / Skripte(PHP,ASP,Perl...)
Anführungsstriche aus dem Formular
Frage
Hallo,
In meinem Gästebuch werden Anführungstriche(") durch (\") ersetzt.
wie kann ich das abstellen?
Antwort 1 von Nessus
Hi,
poste doch mal bitte den betreffenden Code (aber nur(!) den betreffenden Code) nicht alles!
Nessus
poste doch mal bitte den betreffenden Code (aber nur(!) den betreffenden Code) nicht alles!
Nessus
Antwort 2 von itzi
Hallo Nesus,
ist ein normales Textfeld mit vielen anderen Inputzeilen. Alles wird in eine Datei geschreiben. Dort sind dann auch schon die \ dabei.
<TEXTAREA NAME=beschreibung ROWS=10 COLS=50 WRAP=virtual></TEXTAREA>
nachfolgendes soll dazu sein, um HTML zu filtern. funktioniert auch.
$name = ereg_replace("<","<",$name);
$name = ereg_replace(">",">",$name);
$mailer = ereg_replace("<","<",$mailer);
$mailer = ereg_replace(">",">",$mailer);
$url = ereg_replace("<","<",$url);
$url = ereg_replace(">",">",$url);
$beschreibung = eregi_replace(";",",",$beschreibung);
$beschreibung = ereg_replace("<","<",$beschreibung);
$beschreibung = ereg_replace(">",">",$beschreibung);
$beschreibung = ereg_replace("\n","<BR>",$beschreibung);
$beschreibung = ereg_replace("#","-",$beschreibung);
$timestring = ereg_replace(" ", " ",$timestring);
Hilft das weiter
ist ein normales Textfeld mit vielen anderen Inputzeilen. Alles wird in eine Datei geschreiben. Dort sind dann auch schon die \ dabei.
<TEXTAREA NAME=beschreibung ROWS=10 COLS=50 WRAP=virtual></TEXTAREA>
nachfolgendes soll dazu sein, um HTML zu filtern. funktioniert auch.
$name = ereg_replace("<","<",$name);
$name = ereg_replace(">",">",$name);
$mailer = ereg_replace("<","<",$mailer);
$mailer = ereg_replace(">",">",$mailer);
$url = ereg_replace("<","<",$url);
$url = ereg_replace(">",">",$url);
$beschreibung = eregi_replace(";",",",$beschreibung);
$beschreibung = ereg_replace("<","<",$beschreibung);
$beschreibung = ereg_replace(">",">",$beschreibung);
$beschreibung = ereg_replace("\n","<BR>",$beschreibung);
$beschreibung = ereg_replace("#","-",$beschreibung);
$timestring = ereg_replace(" ", " ",$timestring);
Hilft das weiter
Antwort 3 von TheHappyJoker
Hallo,
ich habe irgendwie das selbe Problem mit meinen Formmailer.
Würde jetzt ewig dauern den Code aus dem File herauszusuchen, daher kutz per Hand (evtl. Tippfehler, die nichts mit dem Prob zu tun haben einfach ignorieren):
Eine Textbox inkl. Absendebutton (Formular):
Das ist der Ausgangspunkt, und nun die ergebnis.php:
Egal, ob ich die $_POST['message']-Variable per echo ausgeben lasse oder in meinen Postfach die Nachricht anschaue:
Hat ein User Anführungsstriche ( " ) reingeschrieben, bekomme ich sie nur maskiert in der Ausgabe ( \" )
Ich denke mal ich müsste zuerst die $_POST['message']-Variable auf ihren Inhalt prüfen und gegebenfalls eine Ersetzung bestimmter Zeichen vornehmen lassen (sowas wie ein Filter).
Wie lässt sich das anstellen?
<gruß thj>
ich habe irgendwie das selbe Problem mit meinen Formmailer.
Würde jetzt ewig dauern den Code aus dem File herauszusuchen, daher kutz per Hand (evtl. Tippfehler, die nichts mit dem Prob zu tun haben einfach ignorieren):
Eine Textbox inkl. Absendebutton (Formular):
<form method="POST" action="ergebnis.php">
<textarea name="message"></textarea>
<input type="submit"> <input type="reset">
<form>Das ist der Ausgangspunkt, und nun die ergebnis.php:
<?php
$mailbox = "email@internet.de";
$subject = "Titel";
mail ($mailbox, $subject, $_POST['message'];
?>Egal, ob ich die $_POST['message']-Variable per echo ausgeben lasse oder in meinen Postfach die Nachricht anschaue:
Hat ein User Anführungsstriche ( " ) reingeschrieben, bekomme ich sie nur maskiert in der Ausgabe ( \" )
Ich denke mal ich müsste zuerst die $_POST['message']-Variable auf ihren Inhalt prüfen und gegebenfalls eine Ersetzung bestimmter Zeichen vornehmen lassen (sowas wie ein Filter).
Wie lässt sich das anstellen?
<gruß thj>
Antwort 4 von TheHappyJoker
ergebnis.php hätte einfach nur lauten können:
(Das mit den Mail oben war unnötig, sorry - so ist das Prob noch kürzer geschiltert).
<gruß thj>
<?php
echo $_POST['message'];
?>(Das mit den Mail oben war unnötig, sorry - so ist das Prob noch kürzer geschiltert).
<gruß thj>
Antwort 5 von Nessus
Hi,
ereg_replace ist die denkbar schlechte Wahl, http://www.php.net/manual/de/function.strip-tags.php
ist da bedeutend besser dazu geeignet.
Nessus
ereg_replace ist die denkbar schlechte Wahl, http://www.php.net/manual/de/function.strip-tags.php
ist da bedeutend besser dazu geeignet.
Nessus

