echo $begrüßung;
Erfolgt das Absichern schon beim INSERT INTO in die Datenbank oder erst bei der Ausgabe auf der Webseite?
Mit mysql_real_escape_string() werden bestimmte Zeichen maskiert (siehe Handbuch). addslashes() macht das gleiche, nur unvollständig. Ebenso unvollständig sind die Maskierungen die das PHP-Feature Magic Quotes einfügt. Wenn du diese drin hast musst du die erst mal entfernen. Wenn es geht solltest du das Feature ausschalten.
Die Maskierung dient dazu, diese Sonderzeichen so zu kennzeichnen, dass sie bei der Übertragung zur Datenbank nicht als Sonderzeichen interpretiert werden.
Wenn für das Ausgabemedium Maskierungen erforderlich sind, dann solltest du diese erst einfügen, wenn die Daten zur Ausgabe gesendet werden. Wenn du sie schon in die DB einfügst musst du sie erst wieder entfernen, wenn du mal ein anderes Ausgabemedium verwenden willst.
Kannst mir ein Beispiel aufzeigen?
Gegeben sei: String 'mit' einfachen Anführungszeichen
mysql_real_escape_string() macht daraus: String 'mit' einfachen Anführungszeichen
damit der INSERT-Befehl am Ende so aussehen kann:
INSERT ... VALUES ('String 'mit' einfachen Anführungszeichen', ...)
echo "$verabschiedung $name";