echo $begrüßung;
$i=0;
foreach $input as $dummy
{
if ($_POST['input'][$i]['select'] != "")
{
$input[$i]=$_POST['input'][$i]['select'];
}
else
{
$input[$i]=$_POST['input'][$i]['text'];
}
$i++;
}
Wo kommt $input her? Wieso nimmst du an, dass es ein Array ist? Warum willst du $input Elemente hinzufügen, deren Existenz du nicht prüfst, während du es mit foreach durchläufst?
Ein Array mit foreach zu durchlaufen, um dann mit einem extra verwalteten Zähler auf Elemente zuzugreifen, deren Existenz nicht sichergestellt/geprüft wurde, ist Mist.
$_POST['input'][$i]['select'] != "" ist zur Existenzprüfung ungeeignet, was ein auf E_ALL gestelltes error_reporting mit Sicherheit zu bemängeln hätte.
Eine for-Schleife mit Zähler empfiehlt sich nur, wenn genau bekannt ist, dass es auch einen fortlaufenden, lückenlosen Schlüssel gibt. (Zur Not kann man testen ob der Schlüssel vorhanden ist. Wahrscheinlich ist dann aber foreach das geeignetere Mittel der Wahl.)
Für unbekannte Schlüsselwerte wird foreach idealerweise so verwendet:
foreach ($_POST as $key => $value) {
$x = $_POST[$key]; // Beispiel 1
echo $key . ': ' . $value; // Beispiel 2
}
echo "$verabschiedung $name";