echo $begrüßung;
Leider wurde in den bisherigen Antworten eine Menge nicht sehr sinnvolles geschrieben.
Das EVA-Prinzip wurde nicht umsonst erfunden. Trenne den Programmablauf in die Teilschritte Eingabe, Verarbeitung und Ausgabe! Wenn Eingabedaten bearbeitet werden müssen, um sie in ihrer Rohform zu erhalten, dann macht man das geschickterweise gleich bei oder nach der Übernahme, nicht erst zur Ausgabe. Dann hat man die Rohdaten vorliegen und muss nicht bei jedem Verarbeitungsschritt berücksichtigen, dass da irgendwelche Sonderzeichen enthalten sein können, die für den derzeitigen Verarbeitungschritt gar nicht benötigt werden. Erst wenn es zur Ausgabe geht, werden die Daten dem Ausgabekontext entprechend behandelt / neu verpackt.
in einem Formular kann ein Anwender Verzeichnis Pfade angeben.
C:\programme\test\nocheinverzeichnis\1\ Diese werden in einer MySQL Tabelle gespeichert.
In der Datenbank stehen diese Pfade dann aber immer mit doppelten Backslashes
Liegt das an "magic_quotes"?
Das ist im PHP-Umfeld die wahrscheinlichste Ursache. Derzeit noch. Ab PHP6 wird es das Feature nicht mehr geben. Magic Quotes sind dafür gedacht, ohne dass der Programmierer sich darum kümmern muss, SQL-Injection zu verhindern. Doch sie setzen an einem falschen Zeitpunkt an, nämlich bei den Eingabedaten. Wenn Daten erst noch verarbeitet werden oder überhaupt keine Speicherung in einem DBMS vorgesehen ist, sind diese Magic Quotes mindestens überflüssig.
Im PHP-Handbuch gibt es ein Kapitel zu den Magic Quotes. Es gibt darin auch den Abschnitt Disabling Magic Quotes, der beschreibt, wie man sie loswird. Entweder durch Ändern der Konfiguration oder am Scriptanfang mit einer Funktion. Diese berücksichtigt auch, ob MQ eingeschaltet sind oder nicht. (Konfigurationseinstellungen kontrolliert man ansonsten mit einer phpinfo()-Ausgabe, auch der aktuelle Wert für magic_quotes_gpc kann dort eingesehen werden.) Wenn irgendwann PHP6 erscheint, braucht man nur noch dieses paar Codezeilen zu entfernen und fertig ist. Verteilt man hingegen stripslashes() im gesamten Script hat man wesentlich mehr Aufwand, diese Aufrufe aufzuspüren und zu eliminieren.
Wenn man die Magic Quotes losgeworden ist, muss man nun selbstverständlich oben erwähnten Grundsatz berücksichtigen, und Ausgabedaten selbst und kontextgerecht behandeln. Da man das ja nicht nur in Richtung DBMS sondern beispielsweise auch in Richtung HTML beachten muss, sollte man ja dieses Prinzop schon kennen.
echo "$verabschiedung $name";