Hallo Troll,
als erstes, Du öffnest Spamer Tür und Tor mit deinem Script!
Die Empfänger Emailadresse als POST Parameter zu akzeptieren ist
grober Unfug und eine Absicherung muss eingebaut werden.
Ansonsten kann man an beliebige Emailadresse Emails versenden.
Zwar mit deinem HTML aber wiederum beliebigen Inhalt deiner Variablen.
z.B. Prüfe den HTTP_REFERER in $_SERVER wobei auch dies sehr einfach gefaked
werden kann.
Setze in der Session eine Variable, timestamp die ein Emailversand nur einmal zulässt.
-> beim Versand löschen und nur versenden wenn vorhanden.
etc.
Am besten wäre es wenn der User ein Konto hat und du an die im Konto registrierte Email das Email versenden würdest ohne die Email über POST Parameter zu übermitteln...
Diese Zeile macht gar nix:
$_SERVER['REQUEST_METHOD'] === "POST";
Zu deiner eigentlichen Frage:
$nachricht = '... $_POST["schoggi"] ...';
Der String wird genau so übernommen, da er nicht verarbeitet wird.
So wird der String verarbeitet:
$nachricht = "... ".$_POST["schoggi"]." ...";
Gruss Stefan
"KISS - KEEP IT SIMPLE, STUPID"
PHP Documentation Download