echo $begrüßung;
$mystr = "test1=blah&test-1=bleh&test+1=burp";
parse_str($mystr, $myarray);
echo $myarray['test1'];
echo $myarray['test-1'];
echo $myarray['test+1'];
Um sich den kompletten Inhalt eines Arrays anzeigen zu lassen, kann man dieses mit print_r() oder var_dump() ausgeben. Vorher ein <pre> erhöht die Übersichtlichkeit.
Warum ist das so ? (wegen '+' natürlich, aber wo liegt der Sinn des Ganzen ?)
parse_str() dekodiert den ersten Parameter, als ob es ein Querystring wäre.
Wann immer Daten in einen bestimmten Kontext gebracht werden sollen, sind diese diesem Kontext entsprechend zu behandeln. Für den Kontext URL macht dies die PHP-Funktion urlencode().
Du hast deine Daten nicht URL-kodiert, und wunderst dich nun, warum sie falsch dekodiert werden.
Welche Zeichen sind davon noch betroffen ?
Wie kann ich die Zeichen maskieren oder schützen ?
Siehe Handbuch-Kapitel zu urlencode().
echo "$verabschiedung $name";