Moin Petersen,
$errors[]= "Ihre Eingabe: ".$_POST['vorname'].": - Im Vornamen sind keine Zahlen und keine Umlaute erlaubt außer üöäéè";
Ich finde diese Einschränkung nicht sinnvoll.
$_POST['vorname']=utf8_encode($_POST['vorname']);
Hier liegt ein Denkfehler vor. Die Daten werden durch deinen <meta>-Header (und vermutlich keinem widersprechenden Content-Type-Header) schon UTF-8 kodiert verschickt, das heisst, du interpretierst hier einen UTF-8-String als ISO-8859-1 und kodierst ihn erneut nach UTF-8. Lass den Schritt einfach weg. :)
LG,
CK