Hallo,
» <?
»» if (!is_array($HTTP_POST_VARS))
> Siehe [hier](http://forum.de.selfhtml.org/archiv/2006/10/t137910/#m895861).
guter Punkt, das fiel mir auch als erstes auf.
> Und, da du die möglichkeiten von [short_open_tags](http://de.php.net/ini.core) nicht nutzt, deaktiviere sie und schreibe „`<?php`{:.language-php}“ statt „`<?`{:.language-php}“.
Auch darauf hätte ich hingewiesen.
Und dann enthält der Quellcode noch so einiges, was zwar nicht direkt falsch, aber ungünstig bis unsinnig ist.
> $MailToAddress = "postätwegwegenspamfürselfhtmlwallwitzburg.de";
> $MailSubject = "Kontaktformular auf www.wallwitzburg.de";
> if (!$MailFromAddress) {
Steht das tatsächlich so drin? Du setzt erst eine Konstante für $MailToAddress ein, und prüfst dann, ob $MailToAddress auch existiert? ;-)
> while(list($key, $val) = each($HTTP\_POST\_VARS)) {
> $GLOBALS[$key] = $val;
Das ist ein Quatsch, der auch dadurch nicht sinnvoller wird, dass er tausendfach verwendet wird. Das Umkopieren der Eingangswerte ist einfach unnötig, eventuell sogar gefährlich, weil man den Variablen hinterher ihre Herkunft nicht mehr ansieht.
> $val=stripslashes($val);
Anstatt an den Symptomen rumzubasteln, sollte man lieber die Ursache bekämpfen und die Magic Quotes deaktivieren.
> mail( "$MailToAddress", "$MailSubject", "$Message", "From: $MailFromAddress");
Und warum hier noch dreimal einen String in einen String einbauen? Das ist auch sinnlos, irritiert höchstens beim Lesen.
So long,
Martin
--
Idealismus wächst mit der Entfernung zum Problem.