Werte in Variablen, die Zeichen wie ' enthalten, bekommen ein \
Mike
- php
Hallo,
mal angenommen, man hat ein Formularfeld ($text), in welches man folgendes eingibt:
Das gibt's doch gar nicht.
Anschliessend lässt man sich $text anzeigen, dann sieht man folgendes:
Das gibt's doch gar nicht.
Wie lässt sich das umgehen? Oder muss ich das Zeichen "nachträglich" aus den Variablen entfernen? Dafür könnte ich mir eine Art replace-Befehl vorstellen, mit dem ich einfach jedes \ Zeichen ersatzlos streichen könnte, oder so...
Also ich möchte gern wissen: Warum ist das so? Und was tut man am besten dagegen?
Ist relativ wichtig, da die eingegebenen Werte in eine Tabelle übernommen werden sollen und da mit weitergearbeitet werden soll... es geht um ein Internet-Radio, und in englischen Songtiteln kommen diese Hochkomma nunmal recht häufig vor.
Grüsse
Mike
Hallo Mikee
mal angenommen, man hat ein Formularfeld ($text), in welches man folgendes eingibt:
Das gibt's doch gar nicht.
Anschliessend lässt man sich $text anzeigen, dann sieht man folgendes:
Das gibt's doch gar nicht.
Hmm, kam bei mir noch nie vor, glaube ich. Wies sieht denn Dein Code aus?
Es gibt auf jedenfall ein Funktion die Slashes entfernt:
http://www.php.net/manual/de/function.stripslashes.php
und eine die diese hinzufügt:
http://www.php.net/manual/de/function.stripslashes.php
weiter Stringfunktionen:
http://www.php.net/manual/de/ref.strings.php
Viele Grüße
Horst
Hallo Mike,
stripslashes($Textfeld);
und der Fall ist erledigt.
Gruss
Rainer
stripslashes($Textfeld);
und der Fall ist erledigt.
Besser umgekehrt: magic_quotes generell ausschalten (siehe lulus Antwort) und nur bei Bedarf Sonderzeichen maskieren, entweder mit htmlentities() oder mysql_escape_string() & Co.
Die Mistdinger tauchen sonst unkontrollierbar an hunderttausend Stellen auf.
Gruß,
soenk.e
Huhu Mike
Also ich möchte gern wissen: Warum ist das so?
<quote>[...]
If magic_quotes_runtime is enabled, most functions that return data from any sort of external source including databases and text files will have quotes escaped with a backslash. [...]
</quote>
http://www.php.net/manual/en/ref.info.php#ini.magic-quotes-gpc
http://www.php.net/manual/en/function.get-magic-quotes-gpc.php
Viele Grüße
lulu
Huhu Mike
ups, 'magic_quotes_runtime'war jetzt nicht ganz das richtige
in Deinem Fall ist wohl eher 'magic_quotes_gpc' zuständig.
<quote version="2ter Versuch">
[...]
Sets the magic_quotes state for GPC (Get/Post/Cookie) operations. When magic_quotes are on, all ' (single-quote), " (double quote), \ (backslash) and NUL's are escaped with a backslash automatically.
[...]
</quote>
http://www.php.net/manual/en/ref.info.php#ini.magic-quotes-gpc
http://www.php.net/manual/en/function.get-magic-quotes-gpc.php
Viele Grüße
lulu