Ankündigung

Einklappen
Keine Ankündigung bisher.

E-Mail verschicken

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • E-Mail verschicken

    Hallo ich habe heut ein neues Problem.
    Ich möchte dass meine Rechnung über eine Mail an den Kunden nochmal zusammengefasst für ihn zugeschickt wird.
    Ich habe es nun mal einfach probiert dass zumindest meine Rechnungsnummer verschickt wird nur ich bekomm es nicht hin..Die Mail wird nicht verschickt.
    ich geb euch einfach mal meinen code:
    PHP-Code:
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
        <title>Versand</title>
    </head>
    <body>



    Rechnung:
     
    <form action=maili.php4>
    Rechnungsnummer : <? echo $rech_id ?>

    <br><br><br>


    <?   $sql= "SELECT Name,Vorname, PLZ,Ort, Strasse, Hausnummer,Email FROM Kunden WHERE Kd_nr= '$f_kd_nr'";
            $result =mysql_query($sql);
            $row = mysql_fetch_object($result);
            
            $name=$row -> Name;
            $vorname=$row -> Vorname;
            $plz=$row -> PLZ;
            $ort=$row ->Ort;
            $strasse=$row ->Strasse;
            $hausnummer=$row ->Hausnummer;
            $email = $row -> EMail;
            
        $sql ="SELECT Ver_firma,Ver_art,Ver_kosten FROM  Rel_Rechnung,Versand WHERE F_Ver_id = Ver_id AND Rech_id = '$rech_id'"; 
            $result =mysql_query($sql);
            $row = mysql_fetch_object($result);
            
            $verfirma = $row -> Ver_firma;
            $verart= $row -> Ver_art;
            $verkosten= $row ->Ver_kosten;
            
        $sql = "SELECT Bestell_id,Fraeserart, Durchmesser, F_Artnummer, menge, preis FROM Rel_Bestellung,Fraeser WHERE Session_id = '$session_id' AND F_Artnummer = Artnummer ";
            $result = mysql_query($sql);
            
    ?>

    Lieferadresse/Anschrift:
    <table>
    <tr>
        <td>Name:</td>
        <td><? echo $name ?></td>
    </tr>
    <tr>
        <td>Vorname:</td>
        <td><? echo $vorname ?></td>
    </tr>
    <tr>
        <td>PLZ:</td>
        <td><? echo $plz ?></td>
    </tr>
    <tr>
        <td>Ort:</td>
        <td><? echo $ort ?></td>
    </tr>
    <tr>
        <td>Strasse:</td>
        <td><? echo $strasse ?></td>
    </tr>
    <tr>
        <td>Hausnummer:</td>
        <td><? echo $hausnummer ?></td>
    </tr>

    </table>
    <br> 
    Versand:
    <table>
    <tr>
        <td>Versandfirma:</td>
        <td><? echo $verfirma ?></td>
    </tr>
    <tr>
        <td>Versandart:</td>
        <td><? echo $verart ?></td>
    </tr>
    <tr>
        <td>Versandkosten:</td>
        <td><? echo $verkosten ?></td>
    </tr>
    </table>
    <br>

    Rechnung:


    <table>
    <tr>
        <td>Artikelnummer</td>
        <td>Fraeserart</td>
        <td>Durchmesser</td>
        <td>Menge</td>
        <td>Preis</td>
    </tr>
    <? 
     while($row = mysql_fetch_object($result)){
      
                 $Fraeserart = $row -> Fraeserart;
                 $Durchmesser = $row -> Durchmesser;
                 $Artnummer = $row -> F_Artnummer;
                 $menge = $row -> menge;
                 $preis = $row -> preis;
                 
                 $gespreis = $menge * $preis;
                 
                 if(!isset($zwpreis)) $zwpreis = "";
                
                 $zwpreis = $zwpreis + $gespreis;
    ?>             
    <tr>
        <td><? echo $Artnummer ?></td>
        <td><? echo $Fraeserart ?></td>
        <td><? echo $Durchmesser ?> mm</td>
        <td><? echo $menge ?></td>
        <td><? echo $preis ?> &euro;</td>
    </tr>
    <?
             }
             
             $mwst = $zwpreis * 19 /100;
             $endpreis = $zwpreis + $mwst + $verkosten;
    ?>
    </table>

    <table>
    <tr>
        <td>Gesamtpreis Artikel:</td>
        <td><? echo $zwpreis ?> &euro;</td>
    </tr>
    <tr>
        <td>+ 19 % Mehrwersteuer:</td>
        <td><? echo $mwst ?> &euro;</td>
    </tr>
    <tr>
        <td>+ Versandkosten</td>
        <td><? echo $verkosten ?> &euro;</td>
    </tr>
    <tr>
        <td> = Gesamtkosten:</td>
        <td><? echo $endpreis ?> &euro;</td>
    </tr>
    </table>
    <br>
    <input type=submit value="Abschicken">
    </form>
    <?
    $mail_empfaenger="$email";
    $mail_absender=Admin;
    $betreff="Ihre Rechnung";
    $text="
    <html><head><title>Rechnung</title></head>
    <body>
    Rechnungsnummer : <? echo $rech_id ?>

    </table>
    </body>
    </html>";
    mail($mail_empfaenger, $betreff, $text,"from:$mail_absender\r\
    nContent-Type:text/html\r\nContent-Transfer-Encoding: 8bit\r\n");
    print "email wurde verschickt";
    ?>




    </body>
    </html>
    Vor allem am ende wo ich die mail funktion aufrufe muss ik ja einen oder mehrere fehler gemacht haben....wäre euch dankbar wenn ihr mir helfen könntet.

  • #2
    Emails verschicken ist an sich nicht so einfach es müssen Header gesetzt werden willst du HTML-Emails versenden und vieles andere.
    Du solltest dir eine fertige Mailer-Klasse irgendwo runterladen. Diese haben oft bereits viele Features beinhaltet und haben sich bereits in der Praxis getestet.
    Ein sehr guter Link von unserem robo47: Mail() ist tot, es lebe mail()
    "My software never has bugs, it just develops random features."
    "Real programmers don't comment. If it was hard to write, it should be hard to understand!"

    Kommentar


    • #3
      Hallo,
      2 Dinge sind mir aufgefallen:

      Unterstützt Dein Server Short-Tags? Ansonsten nutze <?php statt <?

      Desweiteren hast solltest Du den header für die html-mail in eine Variable platzieren.

      Funktioniert dein Script denn, wenn Du es einfach per Text-Mail versendest?

      Form-Tag enthält keine method (GET oder POST)

      Das ist, was mir beim Überfloegen aufgefallen ist.

      MfG

      DJ
      *******************
      Born to build the web ;)
      *******************

      Kommentar


      • #4
        PHP-Code:
        $text="
        <html><head><title>Rechnung</title></head>
        <body>
        Rechnungsnummer : <? echo $rech_id ?>
        ein großes WTF an dieser Stelle.

        2. Wird die Mail(theoretisch) BEI JEDEM Seitenaufruf versendet!
        Du prüfst nicht, ob das Formular versendet wurde oder nicht.

        3.
        PHP-Code:
        $mail_empfaenger="$email";
        $mail_absender=Admin
        ähm genau umgekehrt wenn schon

        4.
        PHP-Code:
          $sql ="SELECT Ver_firma,Ver_art,Ver_kosten FROM  Rel_Rechnung,Versand WHERE F_Ver_id = Ver_id AND Rech_id = '$rech_id'"
        Sicher, dass das so passt? Ich glaub nicht!

        5. Validierungsfehler:
        Code:
        <html xmlns="http://www.w3.org/1999/xhtml">
        
        ..
        <br>
        das sollte ein <br /> sein


        Und "geht nicht" ist wieder so eine tolle Fehlerbeschreibung.
        Error Level hochschalten und schauen was du überhaupt für einen Fehler kriegst.


        Für 50€ und aufwärts / h gibts ein gescheites Code Review von mir...

        Kommentar


        • #5
          Welche Daten sollen denn aus diesem "Formular" verschickt werden? Ich sehe keine Input-Felder. Du malst nur Ausgaben in ein Form-Tag rein. Der komplette Ansatz ist Schrott.

          Richtig geht das z.B. so:

          Du baust dir ein Rechnungsformular mit einer stinknormalen HTML-Seite. Dort, wo die Daten hinkommen sollen schreibst du Platzhalter hin. Also z.B. so: {name}

          Dein Script liest erstmal in der Datenbank alle Daten aus und hält das, was auf die Rechnung soll in Variablen, z.B. $name

          Dann liest du das Formular mit den Platzhaltern ein mittels $html = file_get_contents('vorlage.html') und ersetzt die Platzhalter mit den Daten, z.B. $html = str_replace('{name}',$name,$html).

          Nun hast du die komplette Rechnung in $html drin.

          Daraus machst du, z.B. mit FPDF eine pdf-Datei, die du dann in einen dafür bestimmten Ordner wegspeicherst. Deinem Kunden schreibst du dann z.B. mit PHPmailer eine einfache Mail, an die du die PDF-Datei anhängst.
          [PHP]if ($var != 0) {
          $var = 0;
          }[/PHP]

          Kommentar


          • #6
            also zu ragtek.. japp du hast recht sie wird bei jedem seitenaufruf verschickt, wenn ik das aber versuche mit nem verschicken feld und ik die form action =maili.php4 auf form action = rechnung.php mache mit method post dann klappt das net...
            und ja es kommt etwas an in meinem email account.. nur net in der form wie ich es gern hätte..
            naja die sql abfragen klappen alle schon.. die rechnungsseite sieht so aus wie ik es möchte nur genau in der form möcht ik die dann auch in der email haben, hab leider net viel ahnung mit klassen und so...

            wenn mir das mal einer erklären kann..

            Kommentar


            • #7
              Ik tippe dann drauf das du dann etwas falsch machst, aber ik kann dir dazu nicht sagen, liegt wohl daran, dass du wieso auch immer aufeinmal rechnung.php als ziel angibst?!
              Dann machen wir es mal so wie in der Schule
              Zurück auf deinen Platz, öffne das WIKI => Affenformular.
              Wenn es nichts hilft, nochmal hier mit dem NEUEN Code nachfragen.


              Phu, ehrlichgesagt finde ich als Wiener das ziemlich schwer zu lesen & verstehen
              ik ist doch eh ich oder?

              Kommentar


              • #8
                Hallo,

                das mit der mail Funktion ist eigentlich ganz einfach.

                Ich kann dir gerne helfen.

                Kannst mich ja mal anschreiben.

                Kommentar


                • #9
                  Zitat von aschunk Beitrag anzeigen
                  Hallo,

                  das mit der mail Funktion ist eigentlich ganz einfach.

                  Ich kann dir gerne helfen.

                  Kannst mich ja mal anschreiben.
                  UNd wieso soetwas nicht öffentlich lösen?
                  Gibt sicher noch einige die dann über Google und Co auf dieser Seite landen und genau die selbe Problemstellung haben.
                  Ein Forum ist eigentlich genau für so etwas gedacht...

                  Kommentar


                  • #10
                    warum skennst du die rechnzng nicht einfach ein und schikst sie per pdf an den kunden so mache ich es zumindest auch!
                    Dieses Forum ist denke ich besser!http://deutschesphpforum.gtaboard.com/forum

                    Kommentar


                    • #11
                      Zitat von gerhard Beitrag anzeigen
                      warum skennst du die rechnzng nicht einfach ein und schikst sie per pdf an den kunden so mache ich es zumindest auch!
                      Weil das im EDV Zeitalter umständlich² ist?

                      Kommentar


                      • #12
                        Also Rechnungen erstellen (Daten in DB), ausdrucken, dann einscannen und als Email verschicken? Das ist doch nicht dein ernst, oder? Ich würde die Dinger allerdings als PDF erzeugen und dann im Emailannhang verschicken.
                        "My software never has bugs, it just develops random features."
                        "Real programmers don't comment. If it was hard to write, it should be hard to understand!"

                        Kommentar


                        • #13
                          Zitat von Paul.Schramenko Beitrag anzeigen
                          Du solltest dir eine fertige Mailer-Klasse irgendwo runterladen. Diese haben oft bereits viele Features beinhaltet und haben sich bereits in der Praxis getestet.
                          Ein sehr guter Link von unserem robo47: Mail() ist tot, es lebe mail()
                          Bitte mach des !!!
                          erstes ergebnis bei google ^^
                          PHP Tutorial - PHP Formular senden und auswerten
                          PHP-Code:
                          if ( $humans >= ) {
                             
                          war ();

                          Kommentar

                          Lädt...
                          X