Formulardaten via Email senden

fruitcake

Grünschnabel
Hallo zusammen

Ich habe ein Formular das ich via email versenden will. Die Formularseite ist rein HTML, die PHP Seite wird im Action-Attribut des Form-Elementes angesprochen. Die Variablen werden jedoch nicht im Mail übertragen. Wo liegt der Fehler?

Hier die Formular-Seite:
HTML:
<body>
<FORM ACTION="antwort.php" METHOD=POST>
<TABLE BORDER=0>
<TR>
<TD COLSPAN="2" ALIGN=RIGHT>
Name <INPUT NAME="name" TYPE="text" SIZE="30">
Vorname <INPUT NAME="vorname" TYPE="text" SIZE="24"><P>
<TR>
	 <TD COLSPAN="2" ALIGN=RIGHT> Email 
		<INPUT NAME="email" TYPE="text" SIZE="56"><BR>
<TR>
<TD ALIGN=RIGHT>
Telefon <INPUT NAME="telnr" TYPE="text" SIZE="30"><BR>
<TR>
<TD COLSPAN="2" ALIGN=RIGHT>
<INPUT TYPE="SUBMIT" VALUE="Ab geht's!">
</TABLE>
</FORM>
 
</body>
</html>

Hier der PHP code von antwort.php:
PHP:
<?
$addr = GetEnv("REMOTE_ADDR");
$host = GetEnv("REMOTE_HOST");
$body = "Aufgegeben von Host " + $host + "IP-Adresse " + $addr + "\n\n";
if (IsSet($name)) { $body = $body + "name: " + $name + "\n"; }
if (IsSet($vornameame)) { $body = $body + "vorname: " + $vorname + "\n"; }
if (IsSet($email)) { $body = $body + "email: " + $email + "\n"; }
if (IsSet($telnr)) { $body = $body + "telnr: " + $telnr + "\n"; }
$comment1 = ereg_replace("\015\n","\n",$comment);
$body = $body + ereg_replace("\015","\n",$comment1);
mail("mail@domain.ch","Briefkasten",$body);
?>

Kann mir jemand helfen?
 
Das kann daran liegen, dass wenn register_globals auf off steht, dei Variablen aus der Form so ausnehmen muss:
$name=$_POST['name']; usw.
 
Wenn ich dich richtig verstanden habe sieht das ganze so aus:

PHP:
<?
$addr = GetEnv("REMOTE_ADDR");
$host = GetEnv("REMOTE_HOST");
$body = "Aufgegeben von Host " + $host + "IP-Adresse " + $addr + "\n\n";
if (IsSet($_POST['name'])) { $body = $body + "name: " + $_POST['name'] + "\n"; }
if (IsSet($_POST['vorname'])) { $body = $body + "vorname: " + $_POST['vorname'] + "\n"; }
if (IsSet($_POST['email'])) { $body = $body + "email: " + $_POST['email'] + "\n"; }
if (IsSet($_POST['telnr'])) { $body = $body + "telnr: " + $_POST['telnr'] + "\n"; }
$comment1 = ereg_replace("\015\n","\n",$comment);
$body = $body + ereg_replace("\015","\n",$comment1);
mail("mail@domain.ch","Briefkasten",$body);
?>
(GREENHORN)
Ich bekomme ein mail, jedoch nur mit einer zahlenkombination als inhalt:" 899896545.62 ". Keine Ahnung was die bedeutet (IP kanns ja nicht sein).

:confused:

Wenn ich die Variablen in antwort.php als echo ausgebe, liest er sie aus. Nützt mir aber wenig, brauche sie ja per mail.

Was kann ich noch machen?
 
Warum machst du alles mit "+"?

So gehts:
HTML:
  <html>
       <body> 
       <FORM ACTION="antwort.php" METHOD=POST> 
       	<TABLE BORDER=0> 
       		<TR> 
       			<TD COLSPAN="2" ALIGN=RIGHT> 
   			Name <INPUT NAME="name" TYPE="text" SIZE="30"> 
 			Vorname <INPUT NAME="vorname" TYPE="text" SIZE="24"><P> 
       		<TR>  
       			<TD COLSPAN="2" ALIGN=RIGHT> 
 			Email <INPUT NAME="email" TYPE="text" SIZE="56"><BR> 
       		<TR> 
       			<TD ALIGN=RIGHT> 
 			Telefon <INPUT NAME="telnr" TYPE="text" SIZE="30"><BR> 
       		<TR> 
       			<TD COLSPAN="2" ALIGN=RIGHT> 
 			<INPUT TYPE="SUBMIT" VALUE="Ab geht's!" name="sent"> 
       	</TABLE> 
       </FORM>  
       </body> 
       </html>
PHP:
       <?
       if ($_POST['sent']) {	
       	$addr = GetEnv("REMOTE_ADDR");
       	$host = GetEnv("REMOTE_HOST");
       	$body = "Aufgegeben von Host " . $host . "IP-Adresse " 
   	 . $addr . "\n\n";
       	$name = $_POST['name'];
       	$vorname = $_POST['vorname'];
       	$email = $_POST['email'];
       	$telnr = $_POST['telnr'];
    	$body = $body . "name: " . $name . "\n". "vorname: " . $vorname . "\n"
   	 . "email: " . $email . "\n". "telnr: " . $telnr . "\n"; 
       	// Was soll das noch?
       	$comment1 = ereg_replace("\015\n","\n",$comment);
       	$body = $body . ereg_replace("\015","\n",$comment1);
       	mail("mail@domain.ch","Briefkasten",$body);
       }
       ?>
 
Ich bekomme ein mail, jedoch nur mit einer zahlenkombination als inhalt:" 899896545.62 ".
Ich vermute mal, das liegt (wie atzi schon ganz richtig bemerkt hat), daran, dass du die Strings zusammenzählt. PHP versucht da wahrscheinlich einfach irgendwie, die Strings in Zahlenwerte umzuwandeln, wodurch am Ende diese komische Zahl herauskommt.
 
Zurück