Wo ist der Fehler im PHP-Formular ???

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

  • Wo ist der Fehler im PHP-Formular ???

    Hallo zusammen,

    meine erste PHP-Stunde liegt grad hinter mir und ich bin ganz begeistert. Doch zu allem Unglück klappt das Formular-Senden per php an eine E-Mail-Adresse nicht!.

    Im Beispiel-Formular soll durch Klick auf den Sende-Button die Datei auswerten.php aufgerufen und die Formular-Daten per E-Mail versendet werden.

    Wenn ich es online teste, verändert sich die URL zu [...]auswerten.php, aber das Browser-Fenster bleibt leer.

    [COLOR=crimson]Es wäre toll, wenn mir hier jemand weiterhelfen kann. Tausend Dank schon mal![/COLOR]

    Hier die beiden Dateien:
    1. formular_test.html:
    HTML-Code:
    <form name="formular" action="auswerten.php" method="post">
    Textfeld (E-Mail):
    <input type="text" name="email" size="50" maxlength="50" value="email"><br>
    
    Drop-Down-Liste mit Mehrfachselektion:
    <select multiple name="varnamedrop2[]" size="2" >
    <option value="interne_bezeichnung1">option1</option>
    <option selected value="interne_bezeichnung2">option2</option>
    </select><br>
    </form>
    2. auswerten.php
    PHP-Code:
    <?php
    if(isset($_POST['send']))
      {
      if(empty(
    $_POST['email]) || empty($_POST['varnamedrop2']))
        {
        echo"Bitte füllen Sie alle Felder aus!";
        }
      else
        {
        $empfaenger="ich@web.de";
        $betreff="Umfrage";
        $header="From: " . $_POST['
    email'] . "\n";
        $nachricht.="Eingabe im Textfeld (E-Mail): " . $_POST['
    email'] . "\n";
         $nachricht.="Auswahl der Drop-Down-Liste mit Mehrfachselektion: " . $_POST['
    varnamedrop2'] . "\n" ---- Ende der Umfrage";

        mail($empfaenger,$betreff,$nachricht,$header);

        echo "Vielen Dank für Ihre Meinung!";
        }

    else
    {
      echo "Bitte füllen Sie das Formular erneut aus. Vielen Dank!";
    }
    ?>
    Zuletzt geändert von nudelwut; 09.11.2005, 21:25.

  • #2
    Du meinst nicht das du

    PHP-Code:
    if(empty($_POST['email]) 
    in

    PHP-Code:
    if(empty($_POST['email']) 
    ändern solltest?


    EDIT:

    Huch da ist ja noch mehr



    Überdenk nochmal die Struktur deines IF ELSE..

    Tip... IF IF ELSE ELSE wird soooo nix.. Zähl mal { und }


    Zuletzt geändert von hhcm; 09.11.2005, 18:35.
    gruss Chris

    [color=blue]Derjenige, der sagt: "Es geht nicht", soll den nicht stoeren, der's gerade tut."[/color]

    Kommentar


    • #3
      Re: Wo ist der Fehler im PHP-Formular ???

      http://www.php-resource.de/forum/sho...threadid=50454
      I don't believe in rebirth. Actually, I never did in my whole lives.

      Kommentar


      • #4
        PHP-Code:
        <?php
        if(isset($_POST['send']))
        {
            if(empty(
        $_POST['email']) || empty($_POST['varnamedrop2']))
            {
                echo
        "Bitte füllen Sie alle Felder aus!";
            }
            else
            {
            
        $empfaenger="ich@web.de";
            
        $betreff="Umfrage";
            
        $header="From: " $_POST['email'] . "\n";
            
        $nachricht.="Eingabe im Textfeld (E-Mail): " $_POST['email'] . "\n";
            
        $nachricht.="Auswahl der Drop-Down-Liste mit Mehrfachselektion: " $_POST['varnamedrop2'] . "\n ---- Ende der Umfrage";

            
        mail($empfaenger,$betreff,$nachricht,$header);

            echo 
        "Vielen Dank für Ihre Meinung!";
        }
        else
        {
          echo 
        "Bitte füllen Sie das Formular erneut aus. Vielen Dank!";
        }
        ?>
        Liebe Grüße,
        SteKoe!

        PHP Tutorials
        Peter Kropff | Quakenet | Schattenbaum.net

        Kommentar


        • #5
          Original geschrieben von hhcm
          Du meinst nicht das du

          PHP-Code:
          if(empty($_POST['email]) 
          in

          PHP-Code:
          if(empty($_POST['email']) 
          ändern solltest?

          Tip... IF IF ELSE ELSE wird soooo nix.. Zähl mal { und }
          Richtig, da fehlt ein Anführungsstrich hinter email ... danke!

          Ah - da fehlt eine abschließende Klammer, genau!


          Super, so funktioniert es auch nun:
          PHP-Code:
          <?php
          if(isset($_POST['send']))
            {
            if(empty(
          $_POST['email']) || empty($_POST['varnamedrop2']))
              {
              echo
          "Bitte füllen Sie alle Felder aus!";
              }
            else
              {
              
          $empfaenger="ich@web.de";
              
          $betreff="Umfrage";
              
          $header="From: " $_POST['email'] . "\n";
              
          $nachricht.="Eingabe im Textfeld (E-Mail): " $_POST['email'] . "\n";
              
          $nachricht.="Auswahl der Drop-Down-Liste mit Mehrfachselektion: " $_POST['varnamedrop2'] . "\n ---- Ende der Umfrage";

              
          mail($empfaenger,$betreff,$nachricht,$header);

              echo
          "Vielen Dank für Ihre Meinung!";
              }
            }
          else
          {
            echo
          "Bitte füllen Sie das Formular erneut aus. Vielen Dank!";
          }
          ?>
          Aber etwas begreif ich als Anfängerin immernoch nicht.
          Ich habe Google genutzt und die Suche-Funktion im Forum, doch ich kapier das zugrunde liegende Prinzip nicht.

          Wie bekomme ich die Auswahl mitgeteilt bei select multiple?
          Wenn ich folgendes habe:
          PHP-Code:
          <select multiple name="varnamedrop2[]" size="2" >
          <option value="interne_bezeichnung1">option1</option>
          <option value="interne_bezeichnung2">option2</option>
          </select><br>

          <?php
              $nachricht
          .="Auswahl der Drop-Down-Liste mit Mehrfachselektion: " $_POST['varnamedrop2'] . "\n";
          ?>
          und das per E-Mail senden lasse, bekomme ich in der E-Mail mitgeteilt:

          Auswahl der Drop-Down-Liste mit Mehrfachselektion: Array
          Zuletzt geändert von nudelwut; 09.11.2005, 22:05.

          Kommentar


          • #6
            $_POST['varnamedrop2'] ist doch ein Array!

            PHP-Code:
            foreach($_POST['varnamedrop2'] AS $option) {
              
            $_option .= $option;

            In $_option sollten nun alle Werte aus $_POST['varnamedrop2'] drin sein ... glaube ich...

            &raquo; http://de.php.net/array
            &raquo; http://de.php.net/foreach
            Zuletzt geändert von stekoe2000; 09.11.2005, 21:51.
            Liebe Grüße,
            SteKoe!

            PHP Tutorials
            Peter Kropff | Quakenet | Schattenbaum.net

            Kommentar


            • #7
              Hallo stekoe2000!

              Vielen Dank für deine Hilfe!

              Kurz noch zu meinem Fehler davor:
              Ich hab den Tipp von hhcm so verstanden, dass nach dem zweiten echo zwei ausleitende Klammern stehen müssen, oder lieg ich da wieder falsch?

              PHP-Code:
              <?php
              if(isset($_POST['send']))
                {
                if(empty(
              $_POST['email']) || empty($_POST['varnamedrop2']))
                  {
                  echo
              "Bitte füllen Sie alle Felder aus!";
                  }
                else
                  {
                  
              $empfaenger="ich@web.de";
                  
              $betreff="Umfrage";
                  
              $header="From: " $_POST['email'] . "\n";
                  
              $nachricht.="Eingabe im Textfeld (E-Mail): " $_POST['email'] . "\n";
                   
              $nachricht.="Auswahl der Drop-Down-Liste mit Mehrfachselektion: " $_POST['varnamedrop2'] . "\n ---- Ende der Umfrage";

                  
              mail($empfaenger,$betreff,$nachricht,$header);

                  echo
              "Vielen Dank für Ihre Meinung!";
                  }
                }
              else
              {
                echo
              "Bitte füllen Sie das Formular erneut aus. Vielen Dank!";
              }
              ?>
              Und ... tausend Dank für die Hilfe mit dem array - ich bin leider in php noch so fremd, dass ich nicht weiß, wie ich ob ich den Code
              PHP-Code:
              foreach($_POST['varnamedrop2'] AS $option) {
                
              $_option .= $option;

              in die Variable $nachricht.= einbinden kann, so dass ich per mail() das ganze versenden kann ?

              Kommentar


              • #8
                Der Code scheint soweit richtig ... nun um die Optionen in deine eMail einzufügen:

                die foreach Schleife vorher ausführen, dann in mail() statt
                PHP-Code:
                  $nachricht.="Auswahl der Drop-Down-Liste mit Mehrfachselektion: " $_POST['varnamedrop2'] . "\n ---- Ende der Umfrage"
                einfach

                PHP-Code:
                  $nachricht.="Auswahl der Drop-Down-Liste mit Mehrfachselektion: " $_option "\n ---- Ende der Umfrage"
                Btw.. www.schattenbaum.net ... und www.php.net sind deine Freunde in diesem Falle ... weil du das sicherlich auch mal lernen willst... sooo schwer ist das nun auch wieder nicht
                Liebe Grüße,
                SteKoe!

                PHP Tutorials
                Peter Kropff | Quakenet | Schattenbaum.net

                Kommentar


                • #9
                  Aaah!

                  Nun wird's klar ! Leise und beständig rieseln die Schuppen von meinen Augen.

                  DANKE!

                  Werde mich auf jeden Fall die nächsten Tage intensiver mit php beschäftigen und die Links mal angucken.
                  Puh - der erste Tag mit php war jedenfalls schon 'n Erlebnis

                  Kommentar


                  • #10
                    Rein Interesse halber: Wo nimmst du PHP Stunden? ... Ich Depp habe mir das in (bisher) 5 Jahren selber beigebracht?
                    Liebe Grüße,
                    SteKoe!

                    PHP Tutorials
                    Peter Kropff | Quakenet | Schattenbaum.net

                    Kommentar


                    • #11
                      Nee, mit dem ersten Tag und dem Lehr-Smiles dahinter mein ich ebenso das mühsame Selbststudium und die lehrreichen Antworten auf mein wundersames selbstgebasteltes Formular.

                      Aller Anfang ist schwer - und ich hoffe, dass ich fünf Jahre durchhalte und dann zumindest die arrays richtig definieren und aufrufen kann

                      Kommentar

                      Lädt...
                      X