Bestellformular mit Bestätigungsmail an Kunden

Ok - ein neuer Versuch:

PHP:
<?php    

if($_POST['abschicken'])    

{    

  //wenn name, email, der text oder die Fragenicht ausfefüllt sind werden die 3 Echo ausgegeben    

  if(empty($_name['name']) || empty($_strassenr['strassenr']) || empty($_plzort['plzort']) || empty($_land['land']) || empty($_email['email']))    

  {    

    header("Location: shop_fehler.htm");    

    exit;    

  }    

  else    

  {    

    while(list($feld,$wert)=each($_POST))    

    {    

      if($feld != $_POST['abschicken'])    

      {    

        $mailnachricht .= ucfirst($feld).": $wert\n"; // auflistung der von Ihnen angegebenen Daten (z. B.Name Alter ...)    

      }    

    }    

    $mailnachricht .= "\nDatum/Zeit: "; // Datum Uhrzeit    

    $mailnachricht .= date("d.m.Y H:i:s"); // Datum Uhrzeit    

    $mailbetreff = "Shopbestellung"; //Betreff bei der angekommenden E-Mail    

    $mailbetreff .= $_POST[betreff];    

    mail("name@domain.com", $mailbetreff, $mailnachricht, "From: $email"); //Anstatt # IHRE E-Mail angeben    

    header("Location: shop_danke.htm");    

    exit;    

  }    

}    

else    

{    

   header("Location: shop_fehler.htm");    

   exit;    

}    

?>

Und jetzt?
 
Also aus
PHP:
if($_POST['abschicken'])
solltest Du
PHP:
if(isset($_POST['abschicken']))
machen.
Und aus
PHP:
$mailbetreff .= $_POST[betreff];
dieses hier:
PHP:
$mailbetreff .= $_POST['betreff'];
 
PHP:
<?php     

if(isset($_POST['abschicken']))     

{     

  //wenn name, email, der text oder die Fragenicht ausfefüllt sind werden die 3 Echo ausgegeben     

  if(empty($_POST['name']) || empty($_POST['strassenr']) || empty($_POST['plzort']) || empty($_POST['land']) || empty($_POST['email']))     

  {     

    header("Location: shop_fehler.htm");     

    exit;     

  }     

  else     

  {     

    while(list($feld,$wert)=each($_POST))     

    {     

      if(isset($_POST['abschicken']))     

      {     

        $mailnachricht .= ucfirst($feld).": $wert\n"; // auflistung der von Ihnen angegebenen Daten (z. B.Name Alter ...)     

      }     

    }     

    $mailnachricht .= "\nDatum/Zeit: "; // Datum Uhrzeit     

    $mailnachricht .= date("d.m.Y H:i:s"); // Datum Uhrzeit     

    $mailbetreff = "Shopbestellung"; //Betreff bei der angekommenden E-Mail     

    $mailbetreff .= $_POST['betreff'];     

    mail("name@domain.com", $mailbetreff, $mailnachricht, "From: $email"); //Anstatt # IHRE E-Mail angeben     

    header("Location: shop_danke.htm");     

    exit;     

  }     

}     

else     

{     

   header("Location: shop_fehler.htm");     

   exit;     

}     

?>
 
Zuletzt bearbeitet:
Du bekommst mindestens eine Warnung bei diesem Script!

In der ersten Zeile müsstest du auch mit isset arbeiten!

Gruß BSA
 
PHP:
if(isset($_POST['abschicken'])
Hier oeffnest Du 2 Klammern, schliesst aber nur eine.

Das muss folglich so aussehen:
PHP:
if(isset($_POST['abschicken']))
 
Dennis Wronka hat gesagt.:
PHP:
if(isset($_POST['abschicken'])
Hier oeffnest Du 2 Klammern, schliesst aber nur eine.

Ok:

PHP:
<?php      

if(isset($_POST['abschicken']))      

{      

  //wenn name, email, der text oder die Fragenicht ausfefüllt sind werden die 3 Echo ausgegeben      

  if(empty($_POST['name']) || empty($_POST['strassenr']) || empty($_POST['plzort']) || empty($_POST['land']) || empty($_POST['email']))      

  {      

    header("Location: shop_fehler.htm");      

    exit;      

  }      

  else      

  {      

    while(list($feld,$wert)=each($_POST))      

    {      

      if(isset($_POST['abschicken']))      

      {      

        $mailnachricht .= ucfirst($feld).": $wert\n"; // auflistung der von Ihnen angegebenen Daten (z. B.Name Alter ...)      

      }      

    }      

    $mailnachricht .= "\nDatum/Zeit: "; // Datum Uhrzeit      

    $mailnachricht .= date("d.m.Y H:i:s"); // Datum Uhrzeit      

    $mailbetreff = "Shopbestellung"; //Betreff bei der angekommenden E-Mail      

    $mailbetreff .= $_POST['betreff'];      

    mail("name@domain.com", $mailbetreff, $mailnachricht, "From: $email"); //Anstatt # IHRE E-Mail angeben      

    header("Location: shop_danke.htm");      

    exit;      

  }      

}      

else      

{      

   header("Location: shop_fehler.htm");      

   exit;      

}      

?>

NACHTRAG:

Scheint zu funktionieren! Es war ein langer Weg - ob das einfacher auch ging? ;) Naja - danke trotzdem an jeden der sich beiteiligt hat.
 
Zuletzt bearbeitet:
Zurück