echo $begrüßung;
hab ein kleines Problem wahrscheinlich ist es nur eine Kleinigkeit.
Ich denke eher, du hast dir ein hornaltes Script an Land gezogen, das jede Menge Unsinn und grobe Fehler enthält und das du nun ohne grundlegende Kenntnisse zu ändern versuchst.
/*Variablen werden umgewandelt*/
$company = $_POST['company'];
Wozu? Die meisten dieser POST-Array-Einträge werden nicht mehr als einmal verwendet. Du betreibst hier einen unnötigen Mehraufwand, indem du sie umkopierst.
/*weitere Felder nach ähnlichem Muster verwenden*/
In einem PHP-Script befindet man sich nicht im Kontext HTML. Umlaute in Kommentaren in HTML-Form zu notieren ist unsinnig.
/*Wie soll die Mail aussehen, die an den webmaster gerichtet ist? Formularfelder werden wie folgt eingefügt "$NameDesFeldes"*/
Inhalte von Formularfeldern müssen kontextgerecht behandelt werden, wenn sie in einen anderen Kontext eingefügt werden.
Zudem sind mitunter Inhaltsprüfungen angebracht. Zeilenumbrüche in Werten, die in Header-Zeilen eingefügt werden sollen, sind meist ein Zeichen für Missbrauch. Das gilt es abzufangen, wenn man keine Spamschleuder aufsetzen will. (Ich erwähne das nur der Vollständigkeit halber, in deinem Beispiel kommt dieser Aspekt nicht vor.)
/*Textkörper*/ $koerperwebmaster = "
<style type="text/css">
Es gibt die Heredoc-Syntax. Die ist für größere Textbrocken besser geeignet. Außerdem kann man sich mit der das Maskieren der Anführungszeichen sparen.
<td width="500" height="27" valign="top">$company</td>
Statt der reinen Umkopiererei wäre es sinnvoller gewesen, die Werte für den HTML-Kontext zu behandeln, sonst kann dir jeder HTML-Code unterjubeln oder du bekommst zumindest Probleme, wenn jemand <http://de.selfhtml.org/html/allgemein/zeichen.htm#html_eigene@title=HTML-eigene Zeichen> in den Werten verwendet.
Es ist zudem nicht nötig, hier jede Menge HTML-Code abzukippen, der mit dem Problem nichts weiter zu tun hat.
#Bitte ab hier nichts mehr ändern. Alle Angaben sind im oberen Teil zu machen#
Der Autor hat das ja nicht umsonst da hin geschrieben. Zumindest wissen sollte man, was man da tut, wenn man sich nicht daran hält.
header("location:");
Was soll das denn werden? Hier fehlt eine URL.
/\*Ist die E-Mail-Adresse richtig eingegeben?\*/ if (ereg("^[\_a-zA-Z0-9-]+(\.[\_a-zA-Z0-9-]+)\*@([a-zA-Z0-9-]+\.)+([a-zA-Z]{2,4})$", $email))
Dieser RegExp verwendet zum einen die alten Posix-RegExp-Funktionen, die zugunsten der Perl-RegExp-Funktionen nicht mehr verwendet werden sollen, weil sie nicht nur oftmals langsamer sind sondern auch in zukünftigen PHP-Versionen nicht mehr (standardmäßig) enthalten sein werden. Zudem gibt es inzwischen gültige Domains, die mehr als 4 Zeichen im Top-Level haben (.museum beispiesweise). Diskussionen zu Email-Prüfungen gibt es übrigens genügend im hiesigen Archiv.
mail("$webmaster","$betreffwebmaster","$koerperwebmaster\n","FROM: $email\n");
Variablen in "" einzurahmen ist eine Sünde, die eigentlich schon seit Jahren ausgestorben sein sollte.
Und hier hast du deine Spamschleuder. Der Wert in $_POST['email'] beziehungsweise $email wird ohne weitere Kontrolle in eine Headerzeile eingefügt. Hier lassen sich beliebige weitere Headerzeilen in die Mail bringen und somit beispielsweise weitere Empfänger hinzufügen. Werte, die in Headerzeilen gelangen sollen, sind mindestens auf enthaltene Zeilenumbrüche zu testen. Ist ein solcher drin, handelt mit Sicherheit um einen Missbrauchsversuch, den es zu unterbinden gilt. (Grußloses Abbrechen wäre angebracht. Spambots würden eine Fehlermeldungen sowieso nicht verstehen.)
Für Texte in Subjekten gelten besondere Kodierungsvorschriften. Siehe unter anderem jenen Thread ungefähr ab Posting vom 26. 01. 2009, 10:20 und die folgenden. Beachte, dass dort UTF-8 als Kodierung verwendet wird und du, wenn du ISO-8859-1 verwenden willst, das entsprechend anpassen musst.
$Header = "MIME-Version: 1.0\n";
$Header .= "Content-type: text/html; charset=iso-8859-1\n";
$Header .= "From: $name <$email>\n";
?>
Nachdem alle Messen gelesen sind, setzt du hier einige Variablen, die du nicht weiter verwendest, weil das Script danach endet.
echo "$verabschiedung $name";