Frage beim Mailversand über Kontaktformular

medico

Erfahrenes Mitglied
Hallo zusammen,

ich benutze ein einfaches PHP Script um ein Kontaktforumlar an meine Email zu versenden.
Jetzt ist es so das der Besucher meiner Seite in ingesamt 10 Sonderfelder etwas eintragen kann, dieses möchte ich in der Mail untereinander aufgelistet haben.
Wenn ich das jetzt so in meinem Script mache:
PHP:
Es wurden folgende Daten übermittelt:
$_POST[m1]
$_POST[m2]
$_POST[m3]
$_POST[m4]
$_POST[m5]
$_POST[m6]
$_POST[m7]
$_POST[m8]
$_POST[m9]
$_POST[m10]
ist ja alles schön, aber wenn der Besucher jetzt nur 1 Feld davon ausfüllt habe ich in der Mail 9 Absätze. Kann man das irgendwie umgehen?

Ich hoffe Ihr wisst was ich meine :-)

Gruß meidco
 
Hi,

probiers mal so:

PHP:
$mailcontent = "";
foreach($_POST as $key =>$value)
{
	$value = trim($value);
	if(strlen($value)>0)
	{
		$mailcontent .= $value."\r\n";
	}
}
 
Super danke....das klappt zwar aber ich habe ja noch andere Felder und die werden jetzt ja einfach untereinander weg ausgegeben:

Hier mal ein bisschen mehr Code:
PHP:
Es wurden folgende Daten übermittelt:
$_POST[m1]
$_POST[m2]
$_POST[m3]
$_POST[m4]
$_POST[m5]
$_POST[m6]
$_POST[m7]
$_POST[m8]
$_POST[m9]
$_POST[m10]  

Anschrift:
Name: $_POST[vorname ] $_POST[name]
Strasse: $_POST[str]
Ort: $_POST[ort]

Weiter Daten:
$_POST[d1]
$_POST[d2]

Und wenn ich jetzt Deinen Code Schnippsel benutze, wir ja alles einfach nur untereinander weg geschrieben.
Gibt es da eine Lösung?
 
Vielleicht hilft dir der Ansatz:

PHP:
$mailcontent = "Es wurden folgende Daten übermittelt:\r\n";
for($i = 1; $i < 11; $i++)
{
	if(isset($_POST['m'.$i]))
	{
		$value = trim($_POST['m'.$i]); 
		if(strlen($value)>0) 
		{ 
			$mailcontent .= $value."\r\n"; 
		} 
	}
}
$mailcontent = 
"Anschrift: 
Name: ".$_POST['vorname']." ".$_POST['name'] ."
Strasse: ".$_POST['str']."
Ort: ".$_POST['ort']."

Weitere Daten:
";
for(.....
 
Zurück