Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Formular in einer HTML-E-Mail, $_POST klappt nicht

Einklappen

Neue Werbung 2019

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

  • [Erledigt] Formular in einer HTML-E-Mail, $_POST klappt nicht

    Ausgangssituation:
    Zwecks einer Umfrage bekommt der User eine E-Mail zugesendet (PHPmailer). Diese ist in HTML-Form und beinhaltet ein Formular mit Radio-Boxen. Er wählt aus, klickt auf "Senden", dadurch wird die in action angegebene Webseite B aufgerufen und dort soll dann der Radiowert verarbeitet (DB) werden.
    Problem:
    Klappt bei mir nicht so ganz, auf der Webseite B wird der $_POST['radiowert'] nicht ausgelesen/erkannt. Ist das systemimmanent, dass ein Mailprogramm damit nicht klar kommt?


    Alternativen wären:
    1. Webseite aufrufen und dort das Formular anzeigen
    2. Statt Radios einen Link mit angehängtem Datenteil
    Direkt anklicken und absenden wäre halt die für den User einfachste Methode, an der Umfrage teilzunehmen.


  • #2
    PHP-Fortgeschrittene
    Die mysql_* Erweiterung ist veraltet!
    Besser: mysqli_* oder (noch besser) PDO

    Kommentar


    • #3
      "PHP Fortgeschrittene" Wie meinen?

      Kommentar


      • #4
        Will meinen, Du bist im falschen Forum!
        Hier unterhalten sich Experten untereinander, für uns ist PHP-Einsteiger gedacht

        kurz zum Thema: Die bessere Variante hast Du bereits genannt:
        1. Webseite aufrufen und dort das Formular anzeigen
        Competence-Center -> Enjoy the Informatrix
        PHProcks!Einsteiger freundliche TutorialsPreComposed Packages

        Kommentar


        • #5
          Schon klar, auch die beste Variante, trotzdem würde ich gerne wissen, wie sich Formulardaten in E-Mails beim Zurücksenden verhalten.

          Kommentar


          • #6
            Habe ich mich ehrlich gesagt noch nie mit auseinander gesetzt, aber ich könnte mir vorstellen, daß zumindest nicht jeder Mail-Client die POST-Daten unterstützt.
            Vielleicht besser dann mit GET, das sollte jeder Client können. Einfache Aktivierungslinks sind im Prinzip nichts anderes.
            Competence-Center -> Enjoy the Informatrix
            PHProcks!Einsteiger freundliche TutorialsPreComposed Packages

            Kommentar


            • #7
              Mit GET geht's nicht: In der E-Mail ist der richtige Link, klick ich drauf, sendet er satt des Datenteils den Valuewert des Sendebuttons. Sieht dann so aus:
              ...pollsave.php?senden=Antwort+senden
              statt
              ...php?id=abc&pol=efg

              Mit POST hab ich ein funktionierendes Linkverhalten, nur werden eben nicht die Formulardaten ausgelesen.

              Kommentar


              • #8
                Wie hast Du GET denn umgesetzt? Einfach nur einen Link reinsetzen bringt ja nichts, weil er dann die Formulardaten nicht "sammelt".
                Du musst die Form auf method="get" umstellen.

                Wenn das nicht funktioniert, verwende die bereits für sinnvoller erklärte Variante es Links zum Formular!
                Competence-Center -> Enjoy the Informatrix
                PHProcks!Einsteiger freundliche TutorialsPreComposed Packages

                Kommentar


                • #9
                  Warum sollte ein EMailclient HTTP Post unterstützen, wenn seine Aufgabe darin besteht, EMails anzuzeigen?
                  Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

                  Kommentar


                  • #10
                    Kann er oder kann er nicht?
                    Die Zeit bleibt ja nicht stehen, früher gab es nur Textmails, mittlerweile wird HTML angezeigt. Da liegt doch irgendwie die Vermutung nahe, dass da was gehen könnte. Die E-mails bei amazon können Bewertungen in Sterneform entgegennehmen (allerdings als Links), also: warum nicht?

                    Kommentar


                    • #11
                      Nein, kann er nicht, weil Email überhaupt gar nichts mit HTTP am Hut hat.
                      HTML bzw. MIME Email ist eine Erweiterung von Standard Text Mails und verwendet einen Renderer, um HTML darstellen zu können. Das heisst aber noch lange nicht, das der EMail Client das HTTP Protokoll implementiert.

                      Es mag EMailclients geben, die das können, mir ist aber keiner bekannt.
                      Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

                      Kommentar


                      • #12
                        Danke für die sachliche Auskunft!

                        Kommentar

                        Lädt...
                        X