babe: E-Mail Formular

Hallo,
ich habe ein einfaches E-Mail Formular in php auf meine Seite eingebaut. Die Codierung ist leider nicht von mir.

Wenn ich die Email aus dem Posteingang  abhole fehlt mir der Absender. Kann mir jemand sagen, wo ist hier der Fehler?

<?php
$Empfaenger = "ich@web.de";
$mailheader  = "From: $Name<$eMail>\n";
$mailheader .= "Content-Type: text/xml; charset="utf-8"\n";
$mailheader .= "Content-Transfer-Encoding: 8bit\n";

if($_REQUEST['Send'])
{
   if(empty($_REQUEST['Name']) || empty($_REQUEST['eMail']) || empty($_REQUEST['Nachricht']))
   {
      echo"Bitte gehen Sie <a href="javascript:history.back();">zurück</a> und füllen Sie alle Felder aus!";
   }
   else
   {
      $Mailnachricht = "Sie haben folgende Nachricht erhalten: \n\n";
      while(list($Formularfeld, $Wert)=each($_REQUEST))
      {
         if($Formularfeld!="Send")
         {
            $Mailnachricht .= $Formularfeld.": ".$Wert."\n";
         }
      }
      $Mailnachricht .= "\nDatum/Zeit: ";
      $Mailnachricht .= date("d.m.Y H:i:s");
      $Mailbetreff = "Kontakt: ";
      $Mailbetreff .= $_REQUEST['Betreff'];
   mail($Empfaenger, $Mailbetreff, $Mailnachricht, $mailheader);
      echo"Vielen Dank. Ihre E-Mail wurde erfolgreich verschickt!";
   }
}
else
{
   echo"Ein Fehler ist aufgetreten. Bitte gehen Sie auf diese <a href="kontakt.php">Seite</a>.";
}

?>

Danke für Eure Hilfe.
babe

  1. Hello,

    von einem Formular kann ich in Deinem Posting nichts entdecken.

    Ich sehe nur ein gefährliches Spamschleuder-Script, dass vermutlich Formulardaten verarbeiten soll.

    <?php
    $Empfaenger = "ich@web.de";
    $mailheader  = "From: $Name<$eMail>\n";         #### woher kommen $NAME und $eMail ?
    $mailheader .= "Content-Type: text/xml; charset="utf-8"\n";
    $mailheader .= "Content-Transfer-Encoding: 8bit\n";

    if($_REQUEST['Send'])         #### Get-Parametern zuzulassen ist sehr gefährlich [1]
    {
       if(empty($_REQUEST['Name']) || empty($_REQUEST['eMail']) || empty($_REQUEST['Nachricht']))
       {
          echo"Bitte gehen Sie <a href="javascript:history.back();">zurück</a> und füllen Sie alle Felder aus!";
       }
       else
       {
          $Mailnachricht = "Sie haben folgende Nachricht erhalten: \n\n";
          while(list($Formularfeld, $Wert)=each($_REQUEST))
          {
             if($Formularfeld!="Send")
             {
                $Mailnachricht .= $Formularfeld.": ".$Wert."\n";
             }
          }
          $Mailnachricht .= "\nDatum/Zeit: ";
          $Mailnachricht .= date("d.m.Y H:i:s");
          $Mailbetreff = "Kontakt: ";
          $Mailbetreff .= $_REQUEST['Betreff'];
       mail($Empfaenger, $Mailbetreff, $Mailnachricht, $mailheader);
          echo"Vielen Dank. Ihre E-Mail wurde erfolgreich verschickt!";
       }
    }
    else
    {
       echo"Ein Fehler ist aufgetreten. Bitte gehen Sie auf diese <a href="kontakt.php">Seite</a>.";
    }

    ?>

    [1] PHP bietet seit geraumer Zeit die Möglichkeit, die übertragenenen Parameter nach
    GET, POST, COOKIE zu unterscheiden. Wieso nutzt Du siese nicht?
    In $_REQUEST steht immer nur eine Mischung daraus.

    Ich vermute außerdem, dass Dein "Register_Globals" noch auf ON steht.
    Bitte gib uns doch mal einen Link auf Deine php-Info, aber nimm vorher dieses Script aus dem Netz.

    Harzliche Grüße vom Berg
    http://bergpost.annerschbarrich.de

    Tom

    --
    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
    Nur selber lernen macht schlau
    Ein Jammer ist auch, dass die Dummen so selbstsicher und die Klugen voller Zweifel sind. Das sollte uns häufiger zweifeln lassen :-)

  2. Mahlzeit,

    ich habe ein einfaches E-Mail Formular in php auf meine Seite eingebaut. Die Codierung ist leider nicht von mir.

    *seufz* ... Wieso mordkopiert ihr eigentlich immer alle möglichen Skripte von überall her und veröffentlicht/benutzt sie, ohne auch nur ansatzweise verstanden zu haben, WAS diese überhaupt tun? :-(

    Wenn ich die Email aus dem Posteingang  abhole fehlt mir der Absender. Kann mir jemand sagen, wo ist hier der Fehler?

    Ja.

    $mailheader  = "From: $Name<$eMail>\n";

    Was - meinst Du - steht zu diesem Zeitpunkt in dieser Variablen? Und: NEIN, ich werde es dir nicht erklären.

    MfG,
    EKKi