daten per email verschicken

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

  • daten per email verschicken

    Hallo, ich habe mit Php so gut wie keine Erfahrung und arbeite gerade an meinem ersten richtigen Php script.

    Ich will ein html Formular anbieten, in welchem die Besucher verschiedene Angaben machen können. Der Besucher soll eine Bestätigungs email erhalten, ich nenns einfach mal " Bestellung erhalten" usw und eine andere Person z.b Webmaster soll eine email erhalten in der dann steht was der Besucher in das Formular geschrieben hat.

    Ich habe dafür eine Form mail vorlage benutzt und sie funtkioniert so weit, dass die zwei gewünschten emails mit dem gewünschten inhalt verschickt werden. Bloß leider werden alle 2 emails an den Besucher / Ausfüller des formulars gechickt.

    ich poste einfach mal den kompletten code , weil ich nicht so genau weiß warum er die 2 email an die falsche adresse schickt.

    PHP-Code:
    <?php

     $mail 
    htmlspecialchars($HTTP_POST_VARS['mail']);
     
    $name htmlspecialchars($HTTP_POST_VARS['name']);

     function 
    mail_senden($name$mail)
     {
      
    // Zuerst wird der Text zusammengesetzt den der Kunde erhält
      
    $text "Hallo " $name ",\n" ;
      
    $text "Wir haben Ihre Bestellung erhalten, sie wird in kürze bearbeitet werden. In einer zweiten email werden Sie die Rechnung erhalten."",\n" ;

      
    // Zusätzlich wird noch der Header definiert
      
    $header "From: \"Benefiz-Konzert.com\" <diggler64@hotmail.de>" ;
      
    mail($mail"Ihre Bestellung"$text$header) ;
     }   
    // Funktion mail_senden() zu Ende



     // Daten des ausgefüllten Formulars an Webmaster schicken
      
    $to "diggler64@hotmail.de";

      function 
    mail_to_webmaster($name$to)
      {
         
    // Zuerst wird der Text zusammengesetzt den Webmaster erhält
         
    $text " Bestellung erhalten von " .$name ",\n" ;

         
    // Zusätzlich wird noch der Header definiert
      
    $header "From: \"Benefiz-Online-Shop\" <diggler64@hotmail.de>" ;
      
    mail($to"Bestellung erhalten"$text$header) ;
         }        
    // Funktion mail_to_webmaster() zu Ende


      
    ?>


     <?php
     
    //}

     
    function fehler() {
      
    //Keine PHP-Befehle erforderlich ?>

     <h1>Fehlende Eingabe !</h1><br>
     <a href="javascript:history.back();">Zurück</a>

     <?php
     
    // Funktion fehler() zu Ende

     
    ?>
     <HTML>
     <HEAD>
      <TITLE>Bestellung erfolgreich</TITLE>
     </HEAD>

     <BODY>


     <?php
      
    // Eigentlicher Kern des Skripts
     
    if ( empty($name) || empty($mail) ) {
      
    fehler() ;
     } else {
      
    mail_senden($name$mail) ;
      
    mail_to_webmaster($to$mail);
     }

     
    ?>
      <h1>Die Bestellung wurde erfolgreich verschickt.</h1><br>
     <a href="javascript:history.go(-2);">Zurück</a>
     </BODY>

     </BODY>
     </HTML>
    ich hab schon die funtkion mail_to_webmaster() mit verschiedensten aufrüfen versucht auszuführen, habe auch schon $to hart codiert, indem ich an die stelle : mail($to, "Bestellung erhalten", $text, $header) ; das $to mit ner email adresse ersetzt habe usw .... ich komm einfach nicht weiter.
    nur wenn ich den code in der oben dargestellten form benutze verschickts mir 2 emails, sonst immer nur eine.

  • #2
    ups , sorry dass mein Beitrag so breit geworden ist

    Kommentar


    • #3
      Re: daten per email verschicken

      So wie's aussieht, hast du beim Aufruf der Funktion mail_to_webmaster die beiden Parameter vertauscht ...
      I don't believe in rebirth. Actually, I never did in my whole lives.

      Kommentar


      • #4
        Ändere
        PHP-Code:
        mail_to_webmaster($to$mail); 
        mal in
        PHP-Code:
        mail_to_webmaster($name$to); 
        Ich denke, also bin ich. - Einige sind trotzdem...

        Kommentar


        • #5
          ich habs schon mal anders herum probiert, aber es wurde nur eine email verschickt.

          kann ich irgendwie sichtbar machen, was in $to eingesetzt wird?

          Kommentar


          • #6
            Original geschrieben von der-diggler
            kann ich irgendwie sichtbar machen, was in $to eingesetzt wird?
            Schon mal was von echo & co. gehört?
            I don't believe in rebirth. Actually, I never did in my whole lives.

            Kommentar


            • #7
              naja $echo hab ich schon mal gehört, aber so ne ahnung davon habe ich nicht. echo denke ich sagt mir den pfad wo was steht oder?
              weiß nicht, was passiert bei php dabmit? sorry

              gibts da nicht so was wie ne print aunweisung einfach?
              die mir dann einfach im browser mal kurz den wert von $to sagt?

              sprich wenn ich´s teste er mit einfach in der seite wo steht "bestellung erfolgreich" darunter oder so, einfach nur die adresse die er für die 2 mail verwendet oder so was? k.a.

              Kommentar


              • #8
                ich hab die funktion in
                function mail_to_webmaster( $name, $to)
                geändert

                und den aufruf
                mail_to_webmaster( $name, $to)

                genauso, aber leider bleibts bei einer email....

                Kommentar


                • #9
                  Original geschrieben von der-diggler
                  naja $echo hab ich schon mal gehört, aber so ne ahnung davon habe ich nicht. echo denke ich sagt mir den pfad wo was steht oder?
                  weiß nicht, was passiert bei php dabmit? sorry

                  gibts da nicht so was wie ne print aunweisung einfach?
                  die mir dann einfach im browser mal kurz den wert von $to sagt?
                  Ja, print - oder eben echo ...


                  Also ein wenig mehr Grundlagenwissen solltest du dir schon aneignen, ansonsten fällt es zu schwer, dir hier beim debuggen zu helfen.
                  I don't believe in rebirth. Actually, I never did in my whole lives.

                  Kommentar

                  Lädt...
                  X