Meine Lösung
bearbeitet von dedlfixTach!
> Da isser wieder, der Kapitalfehler:
>
> > print_r($_POST);
>
> **Niemals**{: style="font-size: 2em"} Daten unbearbeitet in HTML-Code schreiben!!![^1]
Nun mach mal halblang! Das ist eine Test-Ausgabe, die gleich darauf wieder aus dem Code verschwindet. print_r() ist wie var_dump() keine Funktion, die man in der Produktivumgebung stehen hat. Allenfalls ein <pre> vorher ist sinnvoll. Selbst ein </pre> danach hat meist keinen gesteigerten Wert. Das kaputte Rendering der restlichen Seite ist zu dem Zeitpunkt egal, wenn es nur darum geht, Variableninhalte zu prüfen. Es ist jedenfalls nicht davon auszugehen, dass jemand, der diese Funktionen verwendet, sich selbst mit XSS angreift. [Zu viel Postillon gelesen](http://www.der-postillon.com/2010/08/teenager-jahrelang-von-sich-selbst.html)?
> (Warum verwendest du hier eigentlich `print_r()`{: .language-php} anstatt `echo`{: .language-php}?)
Weil es nur eine Testausgabe ist und print_r() was ganz anderes macht als echo, besonders bei Arrays.
dedlfix.