Der Martin: HTML Formular senden mit php

Beitrag lesen

Hallo,

Beim Versenden eines Kontaktformulars erhalte ich jedoch nur eine leere EMail. Die Inputboxen werden nicht wie gewünscht übermittelt...

das wundert mich nicht ...

// Zuerst wird der Text zusammengesetzt

$text = "Name: " . $name . ",\n" ;
$text .= "Strasse: " . $strasse. ",\n" ;
$text .= "PLZ, Ort: " . $plzort. ",\n" ;
$text .= "Telefon: " . $telefon. ",\n" ;
$text .= "EMail: " . $email. ",\n" ;
$text .= "Schreiben: " . $texts. ",\n" ;
$text .= "Per Post: " . $perpost. ",\n" ;
$text .= "Rueckruf: " . $rueckruf. ",\n" ;
$text .= "." ;

$header = "From: "Schwedische Häuser" info@XXXXXXXXXXXXXX.de" ;

mail("info@XXXXXXXXXXXXX.de", "XXXXXXXXXXXX", $text, $header) ;

?>

  
Wo sollen denn die Variablen $name, $strasse und so weiter herkommen? Die fallen doch nicht einfach vom Himmel[\*]. Da musst du schon auf die übergebenen Formulardaten zugreifen, also $\_POST['name'], $\_POST['strasse'] usw.  
Das richtige Escaping der Headerzeilen (danke, hotti, wär mir nicht aufgefallen) darf man auch nicht vergessen, erst recht, wenn man schon selbst nicht-ASCII-Zeichen einträgt.  
Und schließlich sollte man daran denken, dass Benutzereingaben immer fehlerhaft sein können, auch mutwillig fehlerhaft. Darum muss man immer dafür sorgen, dass auch irgendwelcher Blödsinn keinen Schaden anrichtet. Gut, hier landen alle Benutzereingaben ausschließlich im Mail-Text, da kann nichts passieren. Bei Benutzereingaben in Headerzeilen (z.B. im Subject) sähe das schon wieder anders aus.  
  
Ciao,  
 Martin  
  
  
  
[\*] Ja, früher, gaanz früher, als die Erde noch eine flache Scheibe war, wurde in der PHP-Konfiguration bei vielen Hostern register\_globals aktiviert, so dass sämtliche GET- und POST-Parameter als gleichnamige Variablen im Script landeten. Das ist aber schon seit Jahren nicht mehr üblich.

-- 
Das Gehirn ist schon eine tolle Sache: Es fängt ganz von allein an zu arbeiten, wenn man morgens aufsteht, und hört erst damit auf, wenn man in der Schule ankommt.  
  (alte Schülererkenntnis)  
Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(