Eingabebestätigung für E-Mail Formular

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

  • Eingabebestätigung für E-Mail Formular

    Hallo zusammen,

    Ich bin dabei ein E-Mail Formular mit Attachment Funktion in meine Seite einzubauen. Dazu habe ich einfach ein fertiges Script meiner Seite angepasst. Hier mal die grobe Funktionsweise:
    Auf der Seite (html) befindet sich ein Formular (name, email, text, etc.) incl. einer Dateianlage Funktion. Dieses Formular ist mit dem script verbunden. Hat man alles richtig ausgefüllt und bestätigt mit submit, wird die ausgewählte file auf den server geladen und aus den Informationen eine E-Mail incl. anhang versendet. So weit so gut, funktioniert einwandfrei.
    Jetzt will ich das ganze aber um eine Funktion erweitern: Und zwar soll nach dem ersten Bestätigen eine weitere Seite erscheinen, auf der die eingetragenen Daten nochmals zur überprüfung aufgelistet werden. Erst mit dem zweiten Bestätigen wird die Email versendet.

    Ich bin mir nicht sicher wie ich das ganze machen soll. Lässt sich das ganze mit 2 html seiten und einem php skript realisieren oder packe ich lieber gleich alles in eine php datei?

    Für mich ist das alles Neuland.

    Schöne Grüße,

  • #2
    Zitat von guru85 Beitrag anzeigen
    Ich bin mir nicht sicher wie ich das ganze machen soll. Lässt sich das ganze mit 2 html seiten und einem php skript realisieren oder packe ich lieber gleich alles in eine php datei?
    Das ist total egal.


    Wichtig ist nur, dass du die Datei nach dem Hochladen erst mal irgendwohin sicherst, sonst ist sie anschliessend futsch.

    Und dann musst du dir auch noch eine Möglichkeit überlegen, diese gesicherten Dateien wieder aufzuräumen. Nach dem Versenden der Mail die betreffende Datei löschen, ist simpel - aber du musst auch die Fälle berücksichtigen, in denen der Nutzer diesen Schritt nicht mehr durchführt, sondern die Seite einfach verlässt. Da bleibt dir nämlich eine Dateileiche liegen, die auch irgendwann entsorgt werden will.
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      <form action="nachfolgendeseite.php" method="post">
      <input type="text" name="mail">
      <input type="submit" value="Best&auml;tigen">

      nachfolgendeseite.php

      <?php
      $adresse = $_POST["mail"];
      echo $adresse;
      ?>

      Nachdem der User dann Bestätigt hat bindest du deine Funktion hier ein mit der Mail

      lg steve46
      in the web is less more

      Kommentar


      • #4
        Danke schonmal für eure Antworten.

        Genau dein Ansatz habe ich auch verwendet steve, allerdings weiß ich da nicht weiter:

        form.html:
        Code:
        <form action="script.php" method="post">
        <input type="text" name="mail">
        <input type="submit" value="Best&auml;tigen">
        script.php:
        Code:
           <?php 
            $adresse = $_POST["mail"];
            echo $adresse;
            ?>
        Die Eigabe wird wird mit "Bestätigen" gesendet. Auf der neuen Seite erscheint die Eingabe zur Übersicht. So nun muss ich aber nochmal einen Button einbauen der genau diese Übersicht bestätigt. Habe ein bisschen rumprobiert. Da ich die meisten Klassen von php nicht kenne ist das Ergebnis nicht gerade elegant:

        form.html wie gehabt.

        script.php:

        Code:
        <body>
        <?php 
            $adresse = $_POST["mail"];
            ?>
            <form action="script2.php" method="post"> 
            <input type="text" name="hallo" value="<?php echo $adresse;?>">
            <input type="submit" value="Best&auml;tigen">
        </body>
        script2.php:

        Code:
        <?php
            $ad = $_POST["hallo"];
            mail($ad,....)
            echo "nachricht gesendet";
            ?>
        Wie kann ich das ganze denn in einem Skrip realisieren? Wie schaffe ich es einen Teil einer php Datei quasi auf Knopfdruck auszuführen? Sprich wenn der Inhalt aus Script.php bestätigt wurde wird die mail Funktion ausgeführt. Bin mir sicher, dass es eine andere Möglichkeit gibt, als ein neues Form zu definieren.

        mfg,

        Kommentar


        • #5
          Alles in eine Datei? Na, dann nutze if ... else ... oder switch.

          Kommentar


          • #6
            Ok ich will das ganze nicht notwendigerweise in eine Datei packen. Was ich im Moment noch nicht weiß:

            Wenn meine script.php einen Wert mittels $adresse = $_POST["mail"]; durch die submit funktion übergeben bekommt, wie kann ich diesen wert dann weiter an das zweite script senden, sodass ich den Wert ebenfalls mit $adresse = $_POST["mail"];im zweiten skript empfangen und verwenden kann?

            Kommentar


            • #7
              entweder in $_SESSION ablegen (empfohlen) oder in hidden-field im Formular.

              Kommentar


              • #8
                Ja hört sich gut an, hab leider keine idee wie ich das machen könnte.

                Kannst du mir vlrt kurz schildern wie ich das umzusetzen habe? Ich meine was ich in den beiden php dateien einbauen muss um in der zweiten php datei die variablen verwenden zu können?

                Kommentar


                • #9
                  Du kannst entweder ein neues Formular dynamisch erstellen, mit vorbelegten Feldern - das verarbeitest du dann nach dem Abschicken genauso, wie das erste.

                  Oder du informierst dich zum Stichwort Sessions.
                  I don't believe in rebirth. Actually, I never did in my whole lives.

                  Kommentar


                  • #10
                    So wollt mich nochmal melden, dass jetzt alles FAST bestens klappt. Habe es mit hidden fields gelöst.

                    Das Formluar ermöglicht es jetzt zwei Dateien mit maximal 5 mb hochzuladen und der Email anzuhängen. Funktioniert mit kleineren Dateien wunderbar, ABER: sobald ich Dateien hochlade, die größer sind als 2 MB scheint sich das Skript aufzuhängen. Hat einer ne Idee woran das liegen könnte?

                    mfg,

                    Kommentar


                    • #11
                      php.ini MAX_UPLOAD_FILESIZE ist hier das stichwort.
                      Bitte Beachten.
                      Foren-Regeln
                      Danke

                      Kommentar


                      • #12
                        ja super hört sich gurt an. von dieser php.ini hab ich schonmal gehört

                        habe ich darauf zugriff, wenn ich einen Webserver von 1&1 verwende? wenn ja wie kann ich diesen eintrag ändern?

                        Kommentar


                        • #13
                          In meiner info.php Datei habe ich follgenden Eintrag gefunden:

                          upload_max_filesize (local/master) = 20M

                          sollte eigentlich keine probleme machen, oder?

                          Kommentar


                          • #14
                            Zitat von guru85 Beitrag anzeigen
                            So wollt mich nochmal melden, dass jetzt alles FAST bestens klappt. Habe es mit hidden fields gelöst.

                            Das Formluar ermöglicht es jetzt zwei Dateien mit maximal 5 mb hochzuladen und der Email anzuhängen. Funktioniert mit kleineren Dateien wunderbar, ABER: sobald ich Dateien hochlade, die größer sind als 2 MB scheint sich das Skript aufzuhängen. ...
                            Definiere "aufhängen"!

                            Was sagt das Script bei aktiviertem error_reporting(E_ALL)?

                            Was schiebt der Browser nach oben?
                            (Hilfsmittel: HTTP-Proxy, LiveHTTPHeaders, TamperData etc.)
                            Klingon function calls do not have “parameters”‒they have “arguments”‒and they always win them!

                            Kommentar


                            • #15
                              Hallo,
                              das Problem bestht leider immernoch. Ich habe diese Zeilen in den Kopf des skripts gepackt:

                              <?php error_reporting(E_ALL | E_STRICT);
                              ini_set("log_errors", 1);
                              ini_set("error_log", "app_xyz.php.log");
                              ?>

                              Weiß nicht ob da alles richtig ist. Auf jeden Fall hat sich bei der Ausführung leider nichts geändert. Bestätige ich die Übersicht, läd er zwar das zweite Skript, aber die Inhalte erscheinen nicht. Das lässt darauf schließen, dass das php Skript nicht ordentlich durchlaufen wird, da am Ende eigentlich eine nachricht erscheinen müsste "E-Mail erfolgreich versendet". Was auch noch auffällt, dass die Tabellen ein wenig verrutscht sind, also das Erscheinungbild passt nicht zu 100%.

                              Es erscheint auch keine Fehlermeldung oder ähnliches, auch nicht mit den Zeilen im Kopf...

                              Wie gesagt, aber erst ab Files über 2000 kb.


                              Gruß

                              Kommentar

                              Lädt...
                              X