Hi
Bitte keine Doppelposts. Wir lesen generell alles, aber es kann manchmal ein bisschen dauern, bis ein Fragesteller eine Antwort bekommt.
Du hast in Zeile 15 ein
PHP:
if($input=="abschicken");{ //Dieses Semikolon ';' sorgt dafür, dass der if-Block direkt endet. Der Code in den geschweiften Klammern wird also immer (unkonditional) ausgeführt.
mail($empfaenger='t@',$absender,$kontaktformular,$abschicken);
echo "Mail wurde gesendet!";}
Dein $kontaktformular_header ist übrigens ungenutzt...
Viel schlimmer ist aber die eigentliche Nachricht $abschicken: Die ist nämlich undefiniert. Daher schickst du auch nichts -> leere Emails.
Und was du mit "rn" und "n" machen willst, weiss ich auch nicht so ganz. Meinst du "\r\n" und "\n"? Das ist
nicht dasselbe wie "rn" (macht auch nicht viel Sinn, was wenn du in einer Zeile eine "rn" Zeichenfolge oder sogar nur ein "n" hast? Dann willst du ja nicht jedes Mal eine neue Zeile beginnen, oder?
Und deine Funktion checkIfValid() sollte so auch nicht funktionieren.
Und was macht das ini_set dort? Brauchst du das?
Rein vom Gedanken hinter dem Code kann ich mir kein Bild machen: Du hast viele ungenutzte Variablen; viele gesetzt und nie gelesen, manche einfach gar nicht gesetzt und trotzdem gelesen.
Dein Problem mit den leeren Mails liegt allerdings (soweit ich das sehe) nur daran, dass, wie schon gesagt, $abschicken nicht definiert ist. Wenn du diese Variable auf einen entsprechenden Wert setzt, sollte das gehen.
Aber das ändert nichts daran, dass der Code ziemlich unsauber, unsicher und anfällig für allerlei Schabernack ist. Ich hoffe mal, dass der Server nicht am Netz hängt oder zumindest abgesichert ist.
Gruss
cwriter