Problem mit einem Mailscript

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

  • #16
    Das Problem ist, dass du das Formular erstellst, bevor du die Daten prüfst und die E-Mail(s) versendest. Dadurch kannst du natürlich die value-Attribute nicht nachträglich löschen. Der Reset-Button im Browser heißt übrigens deswegen Reset, weil er die Felder auf die vom Server gelieferte Vorbelegung zurücksetzt. Wenn du der Meinung bist, dass der die löschen müsste, hast du was falsch verstanden und dann würde er auch nicht Reset sondern Clear heißen.

    Prüf die Eingaben am Anfang des Skripts und bei Erfolg schick die Mail raus und lösche das Request-Array. Wenn du dann das Formular generierst, bleiben die Felder auch leer.
    [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
    Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
    Super, danke!
    [/COLOR]

    Kommentar


    • #17
      So kriege das heute nicht mehr hin glaub ich.

      Wenn mir jemand mit konkreten Bsp. helfen kann, würde ich mmich freuen.

      (Bin kein PHP Profi)

      Kommentar


      • #18
        Zitat von igelmania Beitrag anzeigen
        Wenn mir jemand mit konkreten Bsp. helfen kann, würde ich mmich freuen.
        Da solltest du vielleicht auch konkret sagen, wofür genau du jetzt noch ein Beispiel brauchst.

        Falls du erwarten solltest, dass jemand jetzt als "Beispiel" dein komplettes Skript korrigiert, bist du an der falschen Adresse. Hier gibt es Hilfe zur Selbsthilfe.

        PS: Und ich würde mich freuen, wenn du endlich mal deinen Code umbrichst. Den Hinweis in der Signatur hast du ja jetzt schon mehrfach gesehen, oder?
        [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
        Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
        Super, danke!
        [/COLOR]

        Kommentar


        • #19
          Zitat von AmicaNoctis Beitrag anzeigen
          Das Problem ist, dass du das Formular erstellst, bevor du die Daten prüfst und die E-Mail(s) versendest. Dadurch kannst du natürlich die value-Attribute nicht nachträglich löschen.
          OT:
          Darum wird bei mir alles an xHtml in Dom erzeugt - damit lässt sich die Ausgabe zu jeder Zeit bequemst manipulieren, wohlgeformtheit gibt's gratis dazu und zum validen Dokument ist es auch kein weiter Weg mehr.
          Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
          Schön - etwas Geschichte kann ja nicht schaden.
          Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

          Kommentar


          • #20
            So, natürlich soll hier keiner für mich alles coden. Aber weisst wie das ist, wenn du nicht weiterkommst.

            Also habe fast alles mit euerer Hilfe selber gelöst:

            das REQUEST Array habe ich mit unset zurückgesetzt.

            Das mit dem Resetbutton geht jetzt auch -> Muss nur auf type=submit geändert werden und beim auslösen wieder mit unset zurücksetzen.

            Habe trotzdem noch ein paar Kleinigkeiten:
            - bei der Anzeige der Fehlermeldung ( im Moment Links/Oben )
            => Möchte aber das es unter dem Formular steht
            Wenn ich es aber unter dem Formular einfüge:
            <?php
            echo"<font color=\"#FF0000\"><b>" .$output . "</b></font><br>";
            ?>
            Dann zeigt er mir immer nur eine Meldung ( z.B. Feld Name leer ) Obwohl andere Felder auch Fehler enthalten
            ??? Habe hier schon einiges probiert, aber KA ???

            - Geht das mit der Bestätigungsemail auch einfacher, als nochmals den ganzen code zu kopieren und den Versand umzudrehen??

            - Wie müsste es aussehen, wenn ich ein Auswahlfeld einfügen möchte in dem der User entscheidet an wem er die Mail sendet.

            Kommentar


            • #21
              Zitat von igelmania Beitrag anzeigen
              Wenn ich es aber unter dem Formular einfüge:
              <?php
              echo"<font color=\"#FF0000\"><b>" .$output . "</b></font><br>";
              ?>
              Dann zeigt er mir immer nur eine Meldung ( z.B. Feld Name leer ) Obwohl andere Felder auch Fehler enthalten
              Da war doch im Code, den du anfangs gezeigt hast, eine Schleife, die über die ggf. mehreren Einträge im Array $error läuft ... wo ist die geblieben?

              - Geht das mit der Bestätigungsemail auch einfacher, als nochmals den ganzen code zu kopieren und den Versand umzudrehen??
              Wenn du zwei unterschiedliche Mails versenden willst, dann musst du mail zwei mal mit unterschiedlichen Parametern aufrufen.

              Wenn man in die Verlegenheit kommt, grössere Blöcke Code zu kopieren, weil man ihn mehrmals braucht - dann sollte man zu einer Schleife oder eine Funktion greifen. Dann kann man unterschiedliche Parameter festlegen - bspw. in einem Array, wenn man's per Schleife macht, oder per Übergabe beim Aufruf, wenn man eine Funktion nutzt.

              - Wie müsste es aussehen, wenn ich ein Auswahlfeld einfügen möchte in dem der User entscheidet an wem er die Mail sendet.
              Beschäftige dich mit den Grundlagen der Formularverarbeitung - schau in ein Tutorial wie bspw. http://tut.php-quake.net/de/ oder http://php-einfach.de/php-tutorial/php-tutorial.php

              Und beachte dabei, dass du keine Spamschleuder baust - also bspw. keine direkte Übergabe der Mailadresse erlauben, sondern nur einen Parameter übergeben, den das Script dann in die jeweilige Mailadresse übersetzt (geht auch wieder mit einem Array).
              I don't believe in rebirth. Actually, I never did in my whole lives.

              Kommentar


              • #22
                Also das mit der Meldung habe ich fast hinbekommen:
                Fehlermeldungen funktionieren jetzt
                Aber jetzt steht bei folgendem Code permanent der Erfolgreich gesendet Text da

                Code:
                <?php
                if (isset($error)) {
                foreach ($error as $output) echo"<font face=\"Verdana\" size=\"1\" color=\"#FF0000\"><b>" .$output . "</b></font><br>";
                  } else {echo"<font face=\"Verdana\" size=\"1\" font color=\"#FF0000\"><b>Erfolgreich gesendet!</b></font>";}
                ?>
                Kann mir hier jemand Konrekte hilfestellung geben, damit ich min. diese Thema abschließen kann.

                Mit der Bestätigungsmail gehts eigentlich ganz einfach -> Habe folgendes gemacht:

                Code:
                mail($to, $subject, $message, $headers);
                mail ($email, $betreff2, $message, "From:$mailto");
                Ist das aber auch so richtig -> Weils es so leicht war ;-)

                Kommentar


                • #23
                  Zitat von igelmania Beitrag anzeigen
                  Aber jetzt steht bei folgendem Code permanent der Erfolgreich gesendet Text da

                  Code:
                  <?php
                  if (isset($error)) {
                  Natürlich, weil isset($error) immer der Fall ist - schliesslich wurde die Variable ja ordnungsgemäß initialisiert.

                  Dich interessiert an dieser Stelle, ob das Array $error Einträge enthält - also frage deren Anzahl ab*, und reagiere darauf dann entsprechend.


                  * wenn du jetzt gleich wieder fragst, wie das geht, dann gibt's Saures - das schlägst du bitte selbst im Manual nach, wenn es dir noch unbekannt ist.
                  I don't believe in rebirth. Actually, I never did in my whole lives.

                  Kommentar


                  • #24
                    hmmm..... also nach 20000x googlen und probieren ..grrr geht immer noch nicht .. KA versteh das nicht.

                    Kommentar


                    • #25
                      Liefere bitte nachvollziehbare Problembeschreibungen.

                      „Funzt nich” und alles dazu äquivalente bringt uns bzgl. deines Problem kein Stückchen weiter.
                      I don't believe in rebirth. Actually, I never did in my whole lives.

                      Kommentar


                      • #26
                        JAAA ich denke ich habs:

                        PHP-Code:
                        <?php
                        if (isset($error)) {
                        foreach (
                        $error as $output) echo"<font face=\"Verdana\" size=\"1\" color=\"#FF0000\"><b>" .$output "</b></font><br>";
                          }
                        if(
                        $mail_senden == true)
                        {echo
                        "<font face=\"Verdana\" size=\"1\" font color=\"#FF0000\"><b>Erfolgreich gesendet!</b></font>";}
                        ?>
                        Was sagst du dazu?? Also bei mir funzt es ;-)

                        Kommentar

                        Lädt...
                        X