Maskierungs-\ entfernen
Benjamin Kuehn
- php
0 wahsaga0 Tom
0 Severin Kacianka0 Benjamin Kuehn
Hi,
ich habe folgendes Problem:
In einem Formular kann der User einen Text eingeben, der dann in der Datenbank gespeichert und später ausgegeben
wird. Wenn nun aber Anführungszeichen im Textfeld eingegeben werden, werden diese hinterher jeweils mit einem Backslash
maskiert. Es kommt also stets nur " statt ". Wie kann ich das am Besten verhindern?
Vielen Dank und viele Gruesse
Ben
hi,
In einem Formular kann der User einen Text eingeben, der dann in der Datenbank gespeichert und später ausgegeben
wird. Wenn nun aber Anführungszeichen im Textfeld eingegeben werden, werden diese hinterher jeweils mit einem Backslash
maskiert. Es kommt also stets nur " statt ". Wie kann ich das am Besten verhindern?
verhindern: einstellung magic_quotes_gpc deaktivieren.
effekt beseitigen: stripslashes() auf die textvariable anwenden.
gruss,
wahsaga
Hello,
und hir noch eine kleine nützliche Funktion, für den Fall, dass man die Backslashes alle entfernen will und nicht weiß, ob auf dem Server überhaupt welche hinzugefügt werden...
-------------------------------------
function strip($data)
{
if (!get_magic_quotes_gpc())
{
return $data;
}
if (is_array($data))
{
foreach($data as $key => $val)
{
$data[$key] = strip($val);
}
}
else
{
$data = stripslashes($data);
}
return $data;
}
--------------------------------------
Aufruf z.B.
$_POST = strip($_POST); ## und schon sind alle Backslashes fort ;-)
Liebe Grüße aus http://www.braunschweig.de
Tom
Hallo,
Es kommt also stets nur " statt ". Wie kann ich das am Besten verhindern?
http://at2.php.net/manual/en/function.stripslashes.php oder Magic-Quotes ausschalten http://at2.php.net/set-magic-quotes-runtime.
gruß,
Severin
Hi ihr zwei,
vielen Dank für die Antworten. :) Hat super geklappt.
Viele Gruesse
Ben