Slashes
H.
- php
0 Andavos0 Thomas Luethi
Hallo @ all,
Ich hoffe ihr könnt mir weiterhelfen, ich hab eine Funktion programmiert, die so auch ohne weiteres funktioniert, allerdings bei öfterem Aufrufen, beginnt PHP nun auf einmal Backslashes an ALLE Ausgaben des Programmes beizufügen (" ,...) :-(
Wie kann man diese automatische "Fehlerkorrektur" von PHP unterdrücken?
mfg h
Hallo,
$variable = stripslashes($variable);
MFG
Andavos
Hallo,
Diese Funktion entfernt zwar Slashes, allerdings unterdrückt sie nichts.
In anderen Teilen des Programmes, die nichts mit dem Ablauf zu tun haben aus diesem grund überall stripslshes ein zu bauen ist wohl eher nur die letzte Lösung und sehr unschön...
Es sollte, so denke ich, schon eine Funktion geben - ähnlich wie (magic_quotes,... - mit der man diesem Blödsinn von PHP abstellen kann...
mfg
Hello,
Es sollte, so denke ich, schon eine Funktion geben - ähnlich wie (magic_quotes,... - mit der man diesem Blödsinn von PHP abstellen kann...
Die Magic_quotes sind kein Blödsinn, sondern Schutz für allzu nachlässige Programmierer.
Wenn Du aber brav selber an das Escape von Forulardaten denkst, dann kannst Du in der php.ini die magic_quotes_gpc ausschalten oder auch in einer .htaccess oder in den Einstellungen des Virtual Host oder vielleicht auch noch mit ini_set() am Scriptbeginn. Allerdings vermute ich, dass es da schon zu späte ist. Ich habe es aber noch nicht ausprobiert.
Man kann auch ganz bewusst die Magic Qutoes durch eine rekursive Funktion wieder aus dem betroffenen Array entfernen. Dann braucht man da nicht bei jedem Parameter einzeln zu tun. Und wenn man vorher auch noch fragt, ob get_magic_quotes_gpc() == true ist, dann passt die Funktion auch für Server, bei denen gar keine MQ_GPC eingeschaltet sind. Dann macht sie nämlich einfach nix.
Liebe Grüße aus http://www.braunschweig.de
Tom
Hallo,
[...] beginnt PHP nun auf einmal Backslashes an ALLE Ausgaben des Programmes beizufügen (" ,...) :-(
Werden die Daten vom Browser an den Server uebertragen?
=> Die "Magic Quotes" spielen Dir uebel mit.
http://www.php.net/manual/de/function.get-magic-quotes-gpc.php
http://www.php.net/manual/en/ref.info.php#ini.magic-quotes-gpc
Abhilfe z.B.:
Wenn die Daten aus der Datenbank kommen, koennte
magic_quotes_runtime der Schuldige sein.
http://www.php.net/manual/en/ref.info.php#ini.magic-quotes-runtime
Kann man auch im Skript selbst abschalten mit set_magic_quotes_runtime()
http://www.php.net/manual/en/function.set-magic-quotes-runtime.php
oder ebenfalls in der .htaccess
In beiden Faellen koenntest Du als Symptom-Bekaempfung
die Backslashes entfernen mit strip_slashes()
http://www.php.net/manual/de/function.stripslashes.php
Gruesse,
Thomas