$_GET mehrere Felder definieren

baddein

Grünschnabel
Hallo Leute,

nachdem mir bei meinem letzten Problem leider niemand helfen konnte versuche ich es etwas einfacher...

Wie kann man denn mit $_GET mehr als ein Feld aus einem Formular einbeziehen?

Zum Sachverhalt:
Eine Formular-Datei mit mehreren Textfeldern liefert mir per GET eine Browserzeile an meine .php-Datei:

Dateiname.php?Anrede=Herr&Vorname=Max&Nachname=Müller&Nachricht=blablabla

Ihr ahnt es schon, der Inhalt dieser Zeile soll als Mail an mich geschickt werden.
Ursprünglich hatte ich das so realisiert:

$message = $HTTP_GET_VARS[""]

$mail($message)

Ist jetzt sehr vereinfacht formuliert!! Dieser Code übergab mir die gesamten benannten Textfelder aus der Browserleiste an meine Email

Nun bin ich mit dem Formular auf einen neuen Server umgestiegen und musste dabei den
Befehl $HTTP_GET_VARS durch $_GET ersetzen.
Der Befehl $message = $_GET[""]
schickt mir jedoch nur eine leere EMail :-(
Ich kann Felder einzeln abfragen mit dem Befehl
$message = $_GET["Anrede"] //zum Beispiel
dann bekomme ich eine Mail geschickt, in der HERR steht

Aber wie kriegt man es hin, dass wieder alle Namensfelder aus der Browserzeile in die Variable $message verpackt werden?

Wäre super wenn mir jemand weiterhelfen könnte
 
Ok, das ist jetzt keine direkte Antwort auf deine Frage, könnte das Problem aber evtl. auch lösen.
Zum einen würde ich, wenn es sich absolut nicht vermeiden läßt, keine Daten per GET übergeben, sondern immer nur per POST. Abgesehen von der eingeschränkten Datenmenge, was bei Nachrichten immer problematisch werden kann, ist bei GET den Manipulationen Tür und Tor geöffnet (Stichwort Spamming). Vor allem, wenn du die Daen auch noch unverarbeitet weitergeben willst.
(Wir hatten bei uns das Problem, daß über ein unsicheres Formular so viel Spam Mails versendet wurden, daß der Server ausgestiegen ist)
Darum solltest du jedes Feld über diese Routine absichern:
PHP:
$var = preg_replace( "/[^a-z0-9äöüßÄÖÜ !?:;,.\/_\-=+@#$&\*\(\)]/im", "", $_POST['var'] );
$var = preg_replace( "/(content-type:|bcc:|cc:|to:|from:)/im", "", $var);
$var = strip_tags($var);
Und danach ist es kein großer Schritt mehr, die Felder mit einer entsprechenden Kennung zu versehen und abzuschicken.
 
Zurück