ich finde den fehler nicht :(

Wolf of Doom

Erfahrenes Mitglied
hi

ich hab mal wieder ein prob :( und zwar mit einen contactform, die email wird nicht rausgeschickt und kommt nie bei mir an :(

PHP:
<script language="JavaScript">
<!--
function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}
//-->
</script>
</head>
 <?
  if($action=="senden") {

  	$betreff = trim(stripslashes($betreff));
  	$inhalt  = trim(stripslashes($inhalt));

  		// Pruefung der Angaben
  		if(!$name)    $fehler[] = "<b>Fehler:</b>Ihr Name fehlt.";
  		if(!$betreff) $fehler[] = "<b>Fehler:</b>Der Betreff fehlt.";
  		if(!$inhalt)  $fehler[] = "<b>Fehler:</b>Sie haben keine Nachricht geschrieben.";
  		if(!$von)     $fehler[] = "<b>Fehler:</b>Ihre Emailadresse fehlt";

  	if(!count($fehler))  // Sende Email wenn alles ok ist
  	{
  		@mail($an,$betreff,$inhalt,$host,$ip,"Form:".$von);
  	    echo "<b>Ihre Nachricht wurde erfolgreich gesendet.</b><br>\n\n";
  	    echo "Sie haben folgende Angaben gemacht<br>\n";
  	    echo "<b>Name:&nbsp;</b><i>$name</i><br>\n";
  	    echo "<b>Email:&nbsp;</b><i>$von</i><br>\n";
  	    echo "<b>Betreff:&nbsp;</b><i>$betreff</i><br>\n";
  	    echo "<b>Inhalt:&nbsp;</b><br>\n<i>".nl2br($inhalt)."</i><br>\n";
  	    echo "<b>IP:</b><i> $ip </i><br>\n";
  	    echo "<b>Host: </b><i> $host </i><br>\n";
  	    echo "<a href=\"javascript:dschutz()\" onClick=\"MM_openBrWindow('daten.php','daten','width=179,height=250')\">Datenschutz</a><br>\n";

   } else { // Fehlerausgabe, wenn Felder leer waren

       echo "Beim Senden traten folgender Fehler auf:";
       echo "<ul><li>".implode("<li>",$fehler)."</ul>";

     }

   }


  ?>

  <!------[] Start Form []------->
<form action="<? echo $PHP_SELF; ?>"method="post">
 <input type="hidden" name="action" value="senden">
 <input type="hidden" name="an"     value="root@t-screen.de">
 <INPUT TYPE="hidden" NAME="ip"    VALUE="<? echo $REMOTE_ADDR; ?>">
 <input type="hidden" name="host"	value="<? echo $REMOTE_HOST; ?>">
<br>
  <u>Name:</u>&nbsp;&nbsp;&nbsp;&nbsp;
      <input type="text" class='input' name="name" size='25' value="<? echo $name; ?>">
   <br>
   <u>Email:</u>&nbsp; &nbsp;&nbsp;
 <input type="text" class="input" name="von" size="25" value="<? echo $von; ?>">
  <br>
   <u>Betreff:</u>&nbsp;&nbsp;
   <input type="text" class="input" name="betreff" size="25" value="<? echo $betreff;?>">
  <br>
  <u>Message:</u><br>
  <textarea class="input" scrollbar="no" cols="36" rows="5" name="inhalt"><? echo $inhalt; ?></textarea>
  <br><br>
 <input class='input' size='90' type='submit' name='send' value='send'>
 <input class='input' size='90' type='reset'  name='del'  value='reset'>
</form>
<!-----[] End Form []-------->
</html>

wo ist der fehler das die daten nicht gesendet werden ?


cya and thx


wolf
 
wie waers mit ein paar echo test-debug-ausgaben ... damit kannst du den fehler schonmal eingrenzen ... ansonsten geiz nicht so mit leerzeichen bei der formularaction ....
 
Hau mal das @ raus vor dem mail. Falls was schiefläuft spuckt er dir damit nämlich den Fehler aus. Ansonsten vorher mal alle vars ausgeben um zu gucken ob auch das richtige drin steht
 
hi

ok das @ wegraisert. jetzt bekomm ich ne meldung das irgendwas in der line 41 falsch ist
PHP:
Warning: Wrong parameter count for mail() in C:\webserv\contact.php on line 41
//line 41
mail($an,$betreff,$inhalt,$host,$ip,"Form:".$von);

sehe dort aber keinen fehler :(
 
hi

ich hab alles nach geprueft
hab nur einen fehler gefunden und zwar
PHP:
mail($an, $betreff, $inhalt, $host, $ip, "Form:".$von);
//hier ist der unterschied
mail($an, $betreff, $inhalt, $host, $ip, "Form:".$von <absender@mail.de>);

aber an sowas kanns doch normalerweise nicht scheitern oder ??


cya

wolf
 
hmmmm das die mailfunction 6 argumente hat wie bei dir stimmt nicht ;)
und ausserdem heisst es From und nicht Form...
lass den host und ip quatsch weg, oder tu den mit in den inhalt...
 
ohmann ;)
die mail-funktion erwartet maximal 5 argumente, da kannst du ihr doch nicht einfach mehr geben...

$inhalt .= "\n".$host."\n".$ip;
 
Zurück