echo $begrüßung;
$menge = "$_POST[$name_menge]";
Die Anführungszeichen sind an dieser Stelle hyperliquid.[*]
ähm, ich finde auch beim besten Willen nicht die Stelle, an der du $name_menge definierst. Letztendlich fragst du also $_POST[undefined] ab.
Nö, bei Javascript ergäbe das "undefined". Bei PHP gibt es zwei Notice-Meldungen (sofern diese nicht mittels error_reporting unterdrückt werden):
Undefined variable: name_menge in ...
Undefined index: in ...
Man beachte die Leerstelle zwischen "index:" und "in".
Nicht vorhandene Variablen ergeben NULL, wenn man einen Lesezugriff darauf versucht. Das Ergebnis des Ausdrucks ist somit NULL.
[*] Die Anführungszeichen haben hier allerdings eine Wirkung. Aus dem NULL wird ein Leerstring. Allerdings dürfte das in einem Wald- und Wiesen-PHP-Anfängerscript keine weiteren Auswirkungen haben, da sowieso die automatische Typumwandlung sich um das NULL kümmert.
An den OP: Beim PHP-Entwickeln empfiehlt es sich, das error_reporting auf E_ALL zu stellen. Die angezeigten Notice-Meldungen weisen meist schon frühzeitig auf Fehler hin, die sich später unerwartet auswirken.
echo "$verabschiedung $name";