Formulardaten nach Auswertung per Mail verschicken

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

  • Formulardaten nach Auswertung per Mail verschicken

    hallo werte community,


    Ich habe ein html-formular erstellt und
    übergebe die Daten per method="post"
    an eine php-datei zur Auswertung,
    das heisst in der php-datei verarbeite ich alle
    im forumlar eingegeben daten und gebe sie auf den Bildschirm
    aus, der kunde kann sich dann alles anschauen
    nochmal zurückgehen und ggf korrigieren,

    wenn dann alles stimmt sollen die
    daten per klick auf einen button
    als email versendet werden

    und genau da liegt mein problem, ich habe keine idee wie
    ich direkt aus der auswertungsdatei die sachen verschicken kann

    der mail-befehlt sie ja ca. so aus

    PHP-Code:
    mail("$mail","$betreff","$nachricht","FROM: $absender"); 
    aber wie ich den schritt vom klick auf den button zu der ausführung des
    mailbefehls hinbekomme ist mir leider schleierhaft



    vielen dank für eure Mühen

    foxy

  • #2
    wo ist dein problem? du nimmst das gleiche script, prüfst damit die daten halt noch einmal, und baust dir aus den daten einen string für den body der mail zusammen.

    also nicht ausgeben, sondern einen string erstellen. diesen kannst du dann problemlos mit mail() weiter verarbeiten.
    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


    Kommentar


    • #3
      hmh die daten sind doch schon verarbeitet

      um die nochmal aufzurufen muss ich das doch aus dem formular
      machen ?


      ok dann vielleicht anders,

      ich habe alle daten die ich per email versenden will als
      string in der .php datei vorliegen

      und möchte diese nun per klick auf einen button aus dieser
      datei heraus verschicken

      PHP-Code:
      <form name='form' action='xxx' method='post'

      nun müsste ich doch irgendwie bei action den mail-befehl reinbasteln ?

      Kommentar


      • #4
        kann mir niemand helfen ?

        ich habe jetzt schon versucht die daten als datei
        abzuspeichern, und dann zu verschicken

        aber da ich den namen der datei als variable bestimme
        und diese ja bei erneutem aufruf der auswertungsdatei ebenso
        weg ist, klappt das auch nicht



        kann mir niemand nen kleinen codeschnipsel basteln ?

        Kommentar


        • #5
          google ist dein freund
          http://www.google.de/search?hl=de&q=...formular&meta=

          Kommentar


          • #6
            wenn ich die formulardaten direkt aus dem formular per email verschicken will funktioniert das


            aber ich lass die formulardaten auf der nächsten Seite auswerten und anzeigen, danach kann man nochmal zurückgehen
            oder die daten verbindlich per email abschicken


            ich weiss aber leider nicht wie ich diese daten (ein string in einer variablen gespeichert) auf der 2. seite versenden kann

            Kommentar


            • #7
              PHP-Code:
              <html>
              <head></head>
              <body>
              <center>
              <?
              if(empty($submit)) {

              echo "<form name=\"anmeldung\" method=\"post\" action=\"anmeldung.php\">
                  <br><br><p><strong><em>Bitte geben Sie Ihre g&uuml;ltige E-Mail-Adresse an, da Sie 
                    ein Passwort von uns zugeschickt bekommen. Dieses Passwort k&ouml;nnen Sie 
                    gleich nach Erhalt &auml;ndern.</em></strong></p>
                  <p>&nbsp;</p>
                  <table width=\"345\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">
                    <tr> 
                      <td width=\"140\">Anrede</td>
                      <td width=\"204\"><div align=\"center\"> 
                         <select name=\"anrede\">
                            <option selected></option>
                            <option>Herr</option>
                            <option>Frau</option>
                          </select>
                        </div></td>
                    </tr>
                    <tr> 
                      <td>Vorname</td>
                      <td><div align=\"center\"> 
                          <input type=\"text\" name=\"vorname\" size=\"28\">
                        </div></td>
                    </tr>
                    <tr> 
                      <td>Nachname</td>
                      <td><div align=\"center\"> 
                          <input type=\"text\" name=\"name\" size=\"28\">
                        </div></td>
                    </tr>
                    <tr> 
                      <td>Stra&szlig;e, Hausnummer</td>
                      <td><div align=\"center\"> 
                          <input type=\"text\" name=\"straße\"><input type=\"text\" name=\"hausnummer\" size=\"4\">
                        </div></td>
                    </tr>
                    <tr> 
                      <td>Postleitzahl, Wohnort</td>
                      <td><div align=\"center\"> 
                          <input type=\"text\" name=\"postleitzahl\" size=\"4\"><input type=\"text\" name=\"wohnort\" size=\"20\">
                        </div></td>
                    </tr>
                    <tr> 
                      <td>Vorwahl, Telefon</td>
                      <td><div align=\"center\"> 
                          <input type=\"text\" name=\"vorwahl\" size=\"4\"><input type=\"text\" name=\"telefon\">
                        </div></td>
                    </tr>
                    <tr> 
                      <td>E-Mail</td>
                      <td><div align=\"center\"> 
                          <input type=\"text\" name=\"email\" size=\"28\">
                        </div></td>
                    </tr>
              </table>
                  <p><br>
                    <input type=\"submit\" name=\"submit\" value=\"Anmelden --->\">
                    <br>
                </form>";
                   



              else 
              {
                foreach($_POST as $key => $value){
                if (empty($value))
                {
                    echo"<p>Bitte füllen sie alle Felder aus</p>
                    <form>
                    <input type=\"button\" value=\"&lt;-- Zurück zum Formular\"
                    onclick=\"Javascript:history.back()\">
                    </form>";
                    echo "<noscript>Bitte per Back-Button zurücknavigieren!</noscript>";
                    exit;
                }
                
                  if(!strstr($_POST['email'],"@") || !strstr($_POST['email'],"."))
                  {
                    echo "Ihre Eingegebene E-Mail Adresse ist ungültig!<br><br><br>
                    <form>
                    <input type=\"button\" value=\"&lt;-- Zurück zum Formular\"
                    onclick=\"Javascript:history.back()\">
                    </form>";
                    echo "<noscript>Bitte per Back-Button zurücknavigieren!</noscript>";
                    exit;
                  }


              echo "Bitte überprüfen sie ihre Daten noch einmal!<br><br><br>";


              echo addslashes($_POST['anrede'])."<br>";
              echo addslashes($_POST['vorname'])."<br>";
              echo addslashes($_POST['name'])."<br>";
              echo addslashes($_POST['straße'])."<br>";
              echo addslashes($_POST['hausnummer'])."<br>";
              echo addslashes($_POST['postleitzahl'])."<br>";
              echo addslashes($_POST['wohnort'])."<br>";
              echo addslashes($_POST['vorwahl'])." ";
              echo addslashes($_POST['telefon'])."<br>";
              echo addslashes($_POST['email'])."<br><br><br>";
              echo "<br><br>";
              echo "Sind diese Daten korrekt?";
              echo "<form action=\"anmeldung2.php\" method=\"post\">";
              echo "<input type=\"hidden\" name=\"anrede\" value=\"".addslashes($_POST['anrede'])."\">";
              echo "<input type=\"hidden\" name=\"vorname\" value=\"".addslashes($_POST['vorname'])."\">";
              echo "<input type=\"hidden\" name=\"name\" value=\"".addslashes($_POST['name'])."\">";
              echo "<input type=\"hidden\" name=\"straße\" value=\"".addslashes($_POST['straße'])."\">";
              echo "<input type=\"hidden\" name=\"hausnummer\" value=\"".addslashes($_POST['hausnummer'])."\">";
              echo "<input type=\"hidden\" name=\"postleitzahl\" value=\"".addslashes($_POST['postleitzahl'])."\">";
              echo "<input type=\"hidden\" name=\"wohnort\" value=\"".addslashes($_POST['wohnort'])."\">";
              echo "<input type=\"hidden\" name=\"vorwahl\" value=\"".addslashes($_POST['vorwahl'])."\">";
              echo "<input type=\"hidden\" name=\"telefon\" value=\"".addslashes($_POST['telefon'])."\">";
              echo "<input type=\"hidden\" name=\"email\" value=\"".addslashes($_POST['email'])."\">";
              echo "<input type=\"button\" value=\"&lt;-- Nein, bitte korrigieren\" ";
              echo "onClick=\"javascript:history.back()\">";
              echo "<noscript>Bitte per Back-Button zurücknavigieren!</noscript>";
              echo "<input type=\"submit\" name=\"submit\" value=\"Alles klar --&gt;\"></form>";
              }
              ?>
              </center>
              </body>
              </html>
              Anmeldung2

              PHP-Code:

              $sender 
              "Hans Wurst";
                  
              $sendermail "anmeldung@klatschbumpeng.de";
                  
              $betreff "ihre ANmeldebestätigung";
                  
              $text "Hallo " addslashes($_POST["anrede"]) . " " addslashes($_POST["name"]) ." !"."\r\n\r\n
              Dieses ist eine vom System generierte Email. Bitte antworten sie auf diese Mail nicht!\r\n"
              ;
                  
              mail($email$betreff$text,
                  
              "From: $sender <$sendermail>"); 
              Ob du die ganzen eingegebenen User Daten in eine Datenbank schreibst oder sonst was mit anstellst ist natürlich dir überlassen

              Gruß Wolf

              Kommentar


              • #8
                hmh irgendwie hilft mir das nicht

                so wie ich das sehe hast du eine datei
                nachdem man das formular eingegeben und bestätigt hat
                erscheint ein 2. formular mit den eingegeben daten aus dem 1. Formular
                und diese kann man dann per email verschicken

                danke das du dir soviel arbeit gemacht hast



                aber ich sehe nicht wie ich damit einen string verschicken kann

                Kommentar


                • #9
                  Öhmm... denn verstehe ich grad deine Frage nicht so ganz *g*

                  Also du kannst per hidden etwas an ein php Formular übermitteln.
                  so
                  PHP-Code:
                  echo "<input type=\"hidden\" size=\"2\" maxlength=\"1\" value=\"$vorname\" name=\"Vorname\">"
                  In deinem Auswerungs script kannste nun mit
                  $_POST['Vorname'] drauf zugreifen

                  prüfen ob die Felder nicht leer sind usw. Wie bei dem Beitrag oben
                  Ich habe keine Datei benutzt, Das sind alles Usereingaben
                  Wenn deine Überprüfungen Stimmen kannste denn Mist denn mailen

                  $sender = "Wurst";
                  $sendermail = "anmeldung@b.de";
                  $betreff = "Ihre Userdaten";
                  $text = "Hallo " . $_POST["anrede"]. " " . $_POST["name"] ." Bla BLa".$POST["adresse"]."Und so weiter"."\r\n\r\n";
                  mail($email, $betreff, $text,
                  "From: $sender <$sendermail>");

                  Kommentar


                  • #10
                    Darf ich es auch versuchen, zu erklären?

                    Die Bestätigungsseite, muss auch ein Formular sein. Nur sind darin die angezeigten Daten nicht mehr veränderbar. Dafür gibt es das Attribut readonly zu <input> und zu <textarea>.
                    Die Daten werden mit dem Attribut VALUE: <input name=... readonly value="$feld"> ins Formular geschrieben, nicht mit echo. Klickt user submit, kommen die Daten aus den readonly Feldern wieder zurück ans action-Mail-Script.

                    Eine zweite Variante ist, die Daten als hidden Felder ins Formular zu schreiben <input type=hidden value="$wert"> und die Daten für den User mit echo anzuzeigen. Klickt user submit, kommen die Daten aus den hidden Feldern wieder zurück ins action-Mail-Script.

                    Die Daten gehen nicht direkt vom Auswerteskript ins Mailskript, sondern via den Browser und die Bestätigungsseite. So ist es üblich.
                    Zuletzt geändert von tcpip; 25.06.2006, 15:24.

                    Kommentar


                    • #11
                      hmh so recht bin ich noch nicht durch

                      ich habe meine daten aus dem formular
                      in eine php-datei geschickt zur auswertung


                      die absender email ist in $mail gespeichert
                      und alle weiteren formulardaten in $text_absender

                      ich überprüfe in der auswertungsdatei halt auf fehleingaben
                      und stelle alle eingaben für den kunden nochmal dar



                      nun habe ich in der auswertungsdatei folgendes formular erstellt

                      PHP-Code:

                      echo '
                      <form method="post" action="versand.php">
                      <input name=text1 type=hidden value="$text_absender">
                      <input name=email type=hidden value="$mail">
                      <br>
                      <input type="submit" name="submit" value="OK">
                      </form>
                      '



                      und die versand.php welche dann alles versenden soll sieht so aus

                      PHP-Code:
                      <?
                      $sender = "Absender";
                      $sendermail = "test@test";
                      $betreff = "Ihre Userdaten";

                      $text = $_POST['text1'];
                      $mail = $_POST['email'];
                      mail($mail, $betreff, $text,"From: $sender <$sendermail>");


                      ?>
                      leider passiert nix

                      Kommentar


                      • #12
                        schau doch mal mitm Echo ob alles korreckt übertragen wurde.

                        Ausserdem fehlt hier was

                        $sendermail = "test@test";

                        nämliche das .de zb.

                        Gruß Wolf

                        Kommentar


                        • #13
                          ich habe das mit echo überprüft

                          er liest in das formular nicht den inhalt der variablen ein sondern
                          er liest den namen der variablen ein


                          also in der input box steht dann : $text_absender
                          drin anstatt der inhalt der variablen

                          Kommentar


                          • #14
                            das liegt daran, dass man die variablen nicht in irgendwelche anführungsstriche/hochkommata/etc. einschließen soll.

                            Kommentar


                            • #15
                              das habe ich auch schon alles ausprobiert


                              PHP-Code:
                              echo '     <br /><br />
                              <form method="post" action=versand.php>
                              <input type="submit" name=submit value="Buchung verbindlich absenden">
                              <input name=text1 type=hidden value=$text_absender>
                              <input name=email type=hidden value=$mail>
                              </form>
                              '

                              Kommentar

                              Lädt...
                              X