Horst: Mail aus Formmailer formatieren

Hallo,

zunächst: Ich bin neu hier - zumindest als angemeldeter User. Ansonsten hat mir dieses Forum schon viel Hilfe bzw. Lösungen geboten.

Auch auf die Gefahr hin, dass ich mir hier einen Rüffel einfange wegen u.U. fehlender Recherche (die ich aber gemacht habe - und nicht nur hier!) stelle ich folgende Frage:

Ich (Wir) benutzen einen PHP-Formmailer zur Übermittlung von Bestelldaten. Eigentlich eher für ein Kontaktformular gedacht, eignet sich dieser Formmailer sehr gut, um für einen kleinen Shop (40 Artikel) die Bestelldaten (über DropDownMenus) für die jeweilige Stückzahl weiterzuleiten. Es klappt alles hervorragend - Bestell-E-Mail, Bestätigungs-E-Mail, alles wunderbar. Allerdings mit einem kleinen "Schönheitsfehler":

Die 40 Variablen für die 40 Artikel werden vom Formmailer nacheinander "aufgerufen", alle Werte (eingegeben über die DropDownMenus) "umgesetzt". Allerdings - bestellt ein Kunde z.B. NUR Position 39 bzw. "Wert 39" - dann gibt es in allen Mails DAVOR 38 LEERZEILEN!

Gibt es eine Möglichkeit, dies in den Mails zu "verhindern" bzw. zu formatieren? An der Art meiner Beschreibung mögen Forumsteilnehmer erkennen, dass mein Wissen über PHP begrenzt ist. Ich habe schon etliche PHP-Scripts allein durch "Learning-by-doing-and-listening" hinbiegen können, aber hier komme ich nicht weiter. Ich habe auch mittlerweile das Gefühl, dass ich an der falschen Stelle suche.

Für einen Tip in die richtige Richtung wäre ich sehr dankbar.
Horst

  1. Hi Horst!

    Für einen Tip in die richtige Richtung wäre ich sehr dankbar.

    Irgendwo werden die Leerzeilen erzeugt.
    Wenn du konkrete Hilfe benötigst, solltest du den Code hier ins Forum oder online stellen.

    Eventuell reicht es, wenn du den Code einer einzigen Zeile zur Verfügung stellst. Vielleicht erkennt da das geübte Auge schon, was Sache ist.

    MfG H☼psel

    --
    "It's amazing I won. I was running against peace, prosperity, and incumbency."
    George W. Bush speaking to Swedish Prime Minister unaware a live television camera was still rolling, June 14, 2001
    Selfcode: ie:% fl:( br:> va:) ls:& fo:) rl:? n4:& ss:| de:] js:| ch:? sh:( mo:) zu:)
    1. Hallo,

      Wenn du konkrete Hilfe benötigst, solltest du den Code hier ins Forum oder online stellen.

      Eventuell reicht es, wenn du den Code einer einzigen Zeile zur Verfügung stellst. Vielleicht erkennt da das geübte Auge schon, was Sache ist.

      poste bitte mal lieber einen Verweis auf den Quellcode der entsprechenden Datei, die dafür sorgt, dass Bestellungen in den Nachrichtentext der mails integriert werden.

      Gruß aus Berlin!
      eddi

      1. Hier ein Ausschnitt aus dem PHP-Code des Formmailers::

        <?
        /*Variablen werden umgewandelt*/
        /*weitere Felder nach ähnlichem Muster verwenden*/
        $prename = $_POST['prename'];
        $name = $_POST['name'];
        $street = $_POST['street'];
        $plz = $_POST['plz'];
        $city = $_POST['city'];
        $mail = $_POST['mail'];
        $prephone = $_POST['prephone'];
        $phone = $_POST['phone'];
        $fax = $_POST['fax'];
        $land = $_POST['land'];
        $nachricht = $_POST['nachricht'];
        $tp = $_POST['tp'];
        $ll = $_POST['ll'];
        $si = $_POST['si'];
        $he = $_POST['he'];
        $ir = $_POST['ir'];
        $fn = $_POST['fn'];
        $mk = $_POST['mk'];
        $sf = $_POST['sf'];
        $sg = $_POST['sg'];
        $sn = $_POST['sn'];
        $st = $_POST['st'];
        $gm = $_POST['gm'];
        $jd = $_POST['jd'];
        $jg = $_POST['jg'];
        $jt = $_POST['jt'];
        $jm = $_POST['jm'];
        $rw = $_POST['rw'];
        $hb = $_POST['hb'];
        $hv = $_POST['hv'];
        $dm = $_POST['dm'];
        $pr = $_POST['pr'];
        $ap = $_POST['ap'];
        $zn = $_POST['zn'];
        $zo = $_POST['zo'];
        $zp = $_POST['zp'];
        $zq = $_POST['zq'];
        $ce = $_POST['ce'];
        $cf = $_POST['cf'];
        $wf = $_POST['wf'];
        $wg = $_POST['wg'];
        $if = $_POST['if'];
        $jm = $_POST['jm'];
        $jn = $_POST['jn'];
        $pa = $_POST['pa'];
        $rv = $_POST['rv'];
        $fs = $_POST['fs'];
        $tm = $_POST['tm'];
        $tl = $_POST['tl'];
        $tx = $_POST['tx'];
        $ta = $_POST['ta'];
        $ag = $_POST['ag'];
        $datum = date('d.m.Y');
        $uhr = date('H:i');

        /*Hier werden alle Daten eingegeben*/
        /*An wen soll die Anfrage gerichtet sein?*/
        $webmaster = "lange@zeitschrift-humanwirtschaft.de";

        /*Welche E-Mail-Adresse soll als Absender eingegeben werden?*/
        $absender = "lange@zeitschrift-humanwirtschaft.de";

        /*Wie soll die Mail aussehen, die an den webmaster gerichtet ist? Formularfelder werden wie folgt eingefügt "$NameDesFeldes"*/
        /*Betreff*/
        $betreffwebmaster = "Bestellung Buecher/Artikel";
        /*Textkörper*/
        $koerperwebmaster = "Bestellung Buecher/Artikel ueber www.zeitschrift-humanwirtschaft.de\nvom $datum, $uhr Uhr von:
        ----------------------------------------------------------------------------
        $prename $name, $street, $plz-$city $land
        Mail: $mail
        Tel: $prephone-$phone Fax: $fax
        ----------------------------------------------------------------------------
        $tp
        $jg
        $fs
        $pa
        $if
        $ll
        $si
        $he
        $ir
        $fn
        $mk
        $sf
        $sg
        $sn
        $st
        $gm
        $jd
        $jt
        $jm
        $jn
        $hb
        $hv
        $rv
        $dm
        $rw
        $pr
        $ap
        $zn
        $zo
        $zp
        $zq
        $ce
        $cf
        $wf
        $wg
        $tm
        $tl
        $tx
        $ta
        ----------------------------------------------------------------------------
        Sonstige Angaben, Fragen oder Wuensche:
        $nachricht
        ----------------------------------------------------------------------------\n\n\n\n\n";

        /*wie soll die Mail aussehen, die an den Absender gerichtet ist?*/
        /*Betreff*/     $betreffabsender = "Ihre Bestellung - Zeitschrift HUMANWIRTSCHAFT";
        /*Textkörper*/  $koerperabsender = "Ihre Bestellung - Zeitschrift HUMANWIRTSCHAFT:
        ----------------------------------------------------------------------------
        Vielen Dank für Ihre Bestellung vom $datum, $uhr Uhr
        auf der Internetseite von www.zeitschrift-humanwirtschaft.de
        ----------------------------------------------------------------------------
        Ihre angegebenen Adressdaten:\n
        $prename $name, $street, $plz-$city $land
        Mail: $mail
        Tel: $prephone-$phone Fax: $fax
        ----------------------------------------------------------------------------
        Ihre Bestellung:
        $tp
        $jg
        $fs
        $pa
        $if
        $ll
        $si
        $he
        $ir
        $fn
        $mk
        $sf
        $sg
        $sn
        $st
        $gm
        $jd
        $jt
        $jm
        $jn
        $hb
        $hv
        $rv
        $dm
        $rw
        $pr
        $ap
        $zn
        $zo
        $zp
        $zq
        $ce
        $cf
        $wf
        $wg
        $tm
        $tl
        $tx
        $ta
        ----------------------------------------------------------------------------
        Ihre sonstigen Angaben, Fragen oder Wuensche:
        $nachricht
        ----------------------------------------------------------------------------\n
        Ihre Bestellung wird umgehend bearbeitet.\n
        Mit freundlichen Gruessen";
        ?>

        Hallo,

        Wenn du konkrete Hilfe benötigst, solltest du den Code hier ins Forum oder online stellen.

        Eventuell reicht es, wenn du den Code einer einzigen Zeile zur Verfügung stellst. Vielleicht erkennt da das geübte Auge schon, was Sache ist.

        poste bitte mal lieber einen Verweis auf den Quellcode der entsprechenden Datei, die dafür sorgt, dass Bestellungen in den Nachrichtentext der mails integriert werden.

        Gruß aus Berlin!
        eddi

        1. Re:

          <?
          /*Variablen werden umgewandelt*/
          /*weitere Felder nach ähnlichem Muster verwenden*/
          $prename = $_POST['prename'];
          $name = $_POST['name'];
          $street = $_POST['street'];
          $plz = $_POST['plz'];
          $city = $_POST['city'];
          $mail = $_POST['mail'];
          $prephone = $_POST['prephone'];
          $phone = $_POST['phone'];
          $fax = $_POST['fax'];
          $land = $_POST['land'];
          $nachricht = $_POST['nachricht'];

          $bestell_df=array('tp','ll','si','he','ir','fn','mk','sf','sg','sn','st',
                            'gm','jd','jg','jt','jm','rw','hb','hv','dm','pr','ap',
                            'zn','zo','zp','zq','ce','cf','wf','wg','if','jm','jn',
                            'pa','rv','fs','tm','tl','tx','ta','ag');
          $bestell_c =count($bestell_df);
          $bestell_tx='';
          for($i=0;$i<$bestell_c;$i++){
             if(!empty($_POST[$bestell_df[$i]])){
                $bestell_tx.=$_POST[$bestell_df[$i]]."\n";
             }
          }

          $datum = date('d.m.Y');
          $uhr = date('H:i');

          /*Hier werden alle Daten eingegeben*/
          /*An wen soll die Anfrage gerichtet sein?*/
          $webmaster = "lange@zeitschrift-humanwirtschaft.de";

          /*Welche E-Mail-Adresse soll als Absender eingegeben werden?*/
          $absender = "lange@zeitschrift-humanwirtschaft.de";

          /*Wie soll die Mail aussehen, die an den webmaster gerichtet ist? Formularfelder werden wie folgt eingefügt "$NameDesFeldes"*/
          /*Betreff*/
          $betreffwebmaster = "Bestellung Buecher/Artikel";
          /*Textkörper*/
          $koerperwebmaster = "Bestellung Buecher/Artikel ueber www.zeitschrift-humanwirtschaft.de\nvom $datum, $uhr Uhr von:

          $prename $name, $street, $plz-$city $land
          Mail: $mail
          Tel: $prephone-$phone Fax: $fax

          $bestell_tx


          Sonstige Angaben, Fragen oder Wuensche:
          $nachricht
          ----------------------------------------------------------------------------\n\n\n\n\n";

          /*wie soll die Mail aussehen, die an den Absender gerichtet ist?*/
          /*Betreff*/     $betreffabsender = "Ihre Bestellung - Zeitschrift HUMANWIRTSCHAFT";
          /*Textkörper*/  $koerperabsender = "Ihre Bestellung - Zeitschrift HUMANWIRTSCHAFT:

          Vielen Dank für Ihre Bestellung vom $datum, $uhr Uhr
          auf der Internetseite von www.zeitschrift-humanwirtschaft.de

          Ihre angegebenen Adressdaten:\n
          $prename $name, $street, $plz-$city $land
          Mail: $mail
          Tel: $prephone-$phone Fax: $fax

          Ihre Bestellung:

          $bestell_tx


          Ihre sonstigen Angaben, Fragen oder Wuensche:
          $nachricht
          ----------------------------------------------------------------------------\n
          Ihre Bestellung wird umgehend bearbeitet.\n
          Mit freundlichen Gruessen";
          ?>

          Gruß aus Berlin!
          eddi

          --
          macht 3,80 ;)

          1. Hallo eddi,

            danke - danke - danke!!! Hat 100%tig geklappt!

            Werde dies zum Anlass nehmen, mein Halbwissen um PHP
            doch mal auf etwas solidere Füsse zu stellen.

            Nochmals vielen Dank.

            Horst

            P.S.: Im Ernst - diese Hilfe wäre mir auch noch ein paar
            Euros mehr wert!

            Gruß aus Berlin!
            eddi

            --
            macht 3,80 ;)

            1. Re:

              Werde dies zum Anlass nehmen, mein Halbwissen um PHP doch mal auf etwas solidere Füsse zu stellen.

              Mache es bloß nicht. Du könntest ab einen gewissen Punkt von PHP sehr enttäuscht sein. Suche Dir doch gleich eine Programmiersprache™. ;)

              Gruß aus Berlin!
              eddi