Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Formular ausgabe Array

Einklappen

Neue Werbung 2019

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

  • [Erledigt] Formular ausgabe Array

    Hallo an alle,

    Habe folgendes Problem.
    Habe ein Formular gebastelt was erst an eine Seite geschickt wird wo der Benutzer noch mal seine Eingaben überprüfen, und dann auf absenden klicken kann. Ich bekomme zwar eine E-Mail wenn ich auf Senden klicke allerdings ohne Daten. Stattdesen steht da nur "Array" drinne.
    Habe schon mal was mit implode() versucht.

    Code auszug:

    Code:
    $message = array();
     
     $message .= $_POST['name'];
     $message .= $_POST['vorname'];
     
    mail($emailAdresse,$emailBetreff,$message,$absender);
    Also mein Anliegen ist eigentlich nur, das die daten die ich per "POST" verschicken will auch wirklich bei mir ankommen.
    verschiedenen Themen die ich hier durchgelesen habe, trafen leider nicht auf mein Problem zu.
    Wenn ich ein Formular bastel was direkt verschickt wird ohne das die Daten nochmals auf einer andere Seite zu kontrolle ausgeben werde, funktioniert es.
    Aber vieleicht hat ja einer ne Idee warum ich eine Ausgabe " Array " bekomme.
    Danke im Voraus

    Gruss

    Cuep


  • #2
    Weil Du $message als Array deklarierst.
    Stell error_reporting auf E_ALL und lies die auftretende Fehler Notice.

    Wenn alles funktioniert, setze Dich bitte mit dem Problem der Email Header Injection auseinander.
    --

    „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
    Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


    --

    Kommentar


    • #3
      PHP-Code:
      $message ""
      sollte das heißen, da funktioponiert der erste fehler wenigstens..
      Under Construktion

      Kommentar


      • #4
        Danke

        Danke Hu5eL für die schnelle und hilfreiche Antwort.
        Leider war es das noch nicht ganz. Jetzt kommt zwar kein "Array" mehr als Ausgabe, aber zeitgleich auch überhaupt keine Ausgabe der Daten.

        Naja werde mal bisschen weiter im I-Net suchen mal sehen was ich finde.
        Trotzdem Danke.

        Kommentar


        • #5
          was passiert wenn du vor
          mail(...)
          dir mal den inhalt von $message ausgeben lässt?
          Under Construktion

          Kommentar


          • #6
            Vermutlich hast Du method="POST" im Form vergessen. Obwohl, wenn vorher ne Mail verschickt wurde, kanns das eigentlich nicht sein. Wie gesagt, vermutlich, denn ohne unseren Kaffesatz sind wir wohl auf einiger Code-Postings Deinerseits angewiesen.

            Jetzt kommt zwar kein "Array" mehr als Ausgabe, aber zeitgleich auch überhaupt keine Ausgabe der Daten.
            Ich hoffe, das war nur schlecht formuliert. mail erzeugt nämlich keine Ausgabe.
            Naja werde mal bisschen weiter im I-Net suchen mal sehen was finde.
            Trotzdem Danke.
            Du gibst ja schnell auf. In jedem Forum kann Dir nur auf Grund der übermittelten Antworten geantwortet werden.
            --

            „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
            Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


            --

            Kommentar


            • #7
              @ Hu5eL das habe ich noch nicht ausprobiert werde ich aber morgen mal machen und bescheid sagen.
              Eigentlich ne gute Idee was man eigentlich auch mal gelernt hat sich ab und zu mal was ausgeben zu lassen.

              Nein das war nicht falsch formuliert, weil in der E-Mail als Text nur Array ausgegeben wurde.
              Ich? schnell aufgeben? Nein nein. Wenn ich wo dran bin dann Stunde und mehr.
              Kann die Codes + Erläuterung gerne Posten kein prob.

              Datei 1 formular.php
              Code:
               <form method="post" action="auswertung.php">
               
              Herr       <input type="radio" name="titel" value="Herr" /> &nbsp;
              Frau       <input type="radio" name="titel" value="Frau" /><br /><br />
              Name:*<br />    <input type="text" name="name"  /><br /> 
              Vorname:*<br />    <input type="text" name="vorname" /><br />
              Strasse / Hausnummer: <br /><input type="text" name="strasse" /> &nbsp; <input type="text" name="hausnummer" maxlength="3"/><br />
              Ort / Plz: <br />   <input type="text" name="ort" /> &nbsp; <input type="text" name="plz" maxlength="5" /><br />
              E-Mail:* <br />    <input type="text" name="e-mail" /><br />
              Betreff:* <br />
              <select name="betreff" size="1" >
               <option value="">---Bitte W&auml;hlen---</option>
                  <option>Frage zu...</option>
                  <option >Kritik</option>
                  <option >Sonstiges</option>
              </select><br /><br />
              <textarea cols="30" rows="20" name="textfeld"></textarea><br /><br />
              <input type="submit" name="submit" value="Senden" />
               
               
                  </form>
              Datei 2 auswertung.php

              Hier werde die daten nochmals ausgegeben damit evt. Fehleingaben verbessert werden können. Die mit include eingebunden formcheck.php kontrolliert lediglich ob pflichtpfelder ausgfüllt sind also ist vorerst passiv von Interesse

              Code:
              include('formcheck.php');
               
               echo "Bitte überprüfen Sie nochmals Ihrer Daten<p></p>";
               
               echo $_POST['titel'] . "<br />";
               echo "<b>Name:</b> " . $_POST['name'] . "<br />";
               echo "<b>Vorname:</b> " . $_POST['vorname'] . "<br />";
               echo "<b>Strasse:</b> " . $_POST['strasse'] . "<br />";
               echo "<b>Hausnummer:</b> " . $_POST['hausnummer'] . "<br />";
               echo "<b>Ort:</b> " . $_POST['ort'] . "<br />";
               echo "<b>Postleitzahl:</b> " . $_POST['plz'] . "<br />";
               echo "<b>E-Mail:</b> " . $_POST['e-mail'] . "<br />";
               
              ?>
               
               
              <html>
              <body>
              <form method="POST" action="redirect.php">
              <input type="submit" name="ok" value="Senden" /> &nbsp; 
              <a href="formular.php">Zurueck</a>
              </form>
              </body>
              </html>
              Datei redirect.php soll das ganze dann abschicken.

              Code:
              <?php 
                include('auswertung.php');
               $message = "";
               
               $message  = $_POST['name'];
               $message .= $_POST['vorname'];
               
               
               
               $emailAdresse = 'sende@zu.de';         
               $emailBetreff = "Anfrage";           
               $absender  = 'From: absender@yourdomain.de' . "\r\n" .  
                       'Reply-To: antwort@yourdomain.de';   
               
               
               
               if (isset($_POST['ok']))
               {
               
               
                mail($emailAdresse,$emailBetreff,$message,$absender);
               }
               
              header("Location: successful.php");
              ?>
              Damit hier jetzt nicht tage lang die anfänger Code's studiert werden müssen schreibe ich noch mal kurz mein Vorhaben.

              Formular.php

              Stellt das Formular dar und schickt die daten an die auswertung.php

              auswertung.php

              Zeigt dem Benutzer seine Eingaben und bei klick auf senden geht es per method="post" und action="redirect.php" zu redirect.php

              redirect.php (die datei heisst so weil die erst für was anders fungierte)

              Soll die daten an die angegeben E-Mail adresse schicken.
              So dann bin ich mal gespannt Und bitte nicht so hart mit der Kritik bin noch frisch in Sachen PHP.

              Gruß

              CueP

              Kommentar


              • #8
                Ganz einfacher Fall (keine Kritik): Requestdaten halten nur für das aufgerufene Script. Da auswertung.php lediglich ein Button Feld im Form enthält, ist dessen Wert das einzige, was in redirect.php an POST Daten ankommt.

                Lösungen:
                - hidden fields (<input> mit hidden Type)
                - Sessions oder sonstige serverseitige Datenspeicherung

                Die Lösung mit dem Backlink ist sowieso nicht ideal. Um beide Probleme gleichzeitig zu lösen schau Dich mal nach dem Stichwort "Affenformular" um (gibts auch was im Manual zu).
                --

                „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


                --

                Kommentar


                • #9
                  Danke schön erst mal für die schnelle und hilfreiche Antwort und vor allem für die Erläuterung dazu .
                  Hmm vom Affenformular hatte ich schon mal was gelesen, werde ich mir mal anschauen.
                  Mal noch ne eine andere kleine Frage. Was genau ist immer mit Manual gemeint?
                  Ist das irgendwie was von php.net? Die doku oder so?

                  PS: Deine Antwort hätte ich jetzt nicht als Kritik aufgefasst

                  Gruß

                  CueP

                  Kommentar


                  • #10
                    Ja, genau. PHP: PHP Manual - Manual Falls Du unter Windows arbeitest, ist auch die *.chm Version sehr sinnvoll. Vor allem wegen des Index.
                    --

                    „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                    Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


                    --

                    Kommentar


                    • #11
                      Danke schön

                      Zum abschluss von diesem Thema wollte ich mich nochmals für die Informationen und Hilfe bedanken.

                      Gruß

                      CueP

                      Kommentar


                      • #12
                        Gerne. Beehren Sie uns wieder
                        --

                        „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                        Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


                        --

                        Kommentar

                        Lädt...
                        X