Ankündigung

Einklappen
Keine Ankündigung bisher.

Formular absenden zeigt keine Wirkung

Einklappen

Neue Werbung 2019

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

  • Formular absenden zeigt keine Wirkung

    Ich bin ein PHP-Anfänger. Und probiere etwas aus und stoße auf folgende Schwierigkeit, die ich auch in Programm als Kommentar aufgelistet habe. Ich füge die Listing im Anhang bei.

    PHP-Code:
    // wenn ich das Programm mit akt1.php starte erscheint erstmal das Formular,
    // das ist richtig, weil der Variable sent noch nicht gesetzt ist
    // und daher der Wert 0 ist, in jedem Fall nicht 1.
    //
    // Im Formular wird der Wert von Sent auf 1 gesetzt (Input type hidden)
    // Der Echo-Befehl zeigt es auch, dass die Wert der Variable
    // sent = 1 gesetzt ist.
    // Egal ob ich Formular vollständig ausgefüllt habe oder nicht
    // Jetzt müßte das Programm in die If-Schleife (siehe unten) gehen
    // Der Echo-Befehl zeigt es auch, dass die Wert der Variable
    // sent = 1 gesetzt ist.
    //
    // (siehe 2 Zeilen weiter unten).
    // ****** Das passiert aber nicht ******
    // ****** Woran liegt das

    Da ich nicht weiß, wie ich hier ein Anhang beifügen kann, füge ich die Listing hier: (Klick auf " Anhänge hochladen" zeigt keine Wirkung):
    head>
    <title>Kontakt-Formular</title>
    </head>
    <body>
    <?php
    // wenn ich das Programm mit akt1.php starte erscheint erstmal das Formular,
    // das ist richtig, weil der Variable sent noch nicht gesetzt ist
    // und daher der Wert 0 ist, in jedem Fall nicht 1.
    //
    // Im Formular wird der Wert von Sent auf 1 gesetzt (Input type hidden)
    // Der Echo-Befehl zeigt es auch, dass die Wert der Variable
    // sent = 1 gesetzt ist.
    // Egal ob ich Formular vollständig ausgefüllt habe oder nicht
    // Jetzt müßte das Programm in die If-Schleife (siehe unten) gehen
    // Der Echo-Befehl zeigt es auch, dass die Wert der Variable
    // sent = 1 gesetzt ist.
    //
    // (siehe 2 Zeilen weiter unten).
    // ****** Das passiert aber nicht ******
    // ****** Woran liegt das
    echo "2" ;
    echo 
    "sent = "$_POST["sent"]. "*Wert von sent";
    // Hier ist meine Frage: Obwohl das Wert von $_POst("sent"] = 1 ist, wie
    // der echo-Befehl (nach der IF-Abfrage) auch zeigt, geht das Programm nicht in die IF-Schleife rein
    if ($_Post["sent"]=="1") {
    echo 
    "3" ;
    echo 
    '<br> Ihre Vorname ist ' $_POST["vorname"];
    echo 
    '<br> Ihre Nachname ist ' $_POST["nachname"];
    echo 
    '<br> Ihre E-Mail ist ' $_POST["email"];

    if (!
    $_POST["vorname"]) {
    echo 
    "<br>bitte geben Sie einen Vornamen ein";
    unset (
    $_POST["sent"]); }

    if (!
    $_POST["nachname"]) {
    echo 
    "<br>bitte geben Sie einen Nachnamen ein";
    unset (
    $_POST["sent"]); }

    if (!
    $_POST["email"]) {
    echo 
    "<br>bitte geben Sie einen E-Mail ein";
    unset (
    $_POST["sent"]);}

    if (
    $_POST["vorname"] AND $_POST["nachname"] AND $_POST["email"] AND $_POST['rank'] == "1" ) { echo "<br> Danke für die Teilnahme- 1" ;}

    if (
    $_POST["vorname"] AND $_POST["nachname"] AND $_POST["email"] AND $_POST['rank'] == "2" ) { echo "<br> Schön, das Ihnen der Spiel gefallen hat- 2" ;}

    if (
    $_POST["vorname"] AND §_POST["nachname"] AND $_POST["email"] AND $_POST['rank'] == "3" ) { echo "<br> Danke für die Teilnahme- 3" ;}

    if (
    $_POST["vorname"] AND §_POST["nachname"] AND $_POST["email"] AND $_POST['rank'] == "4" ) { echo "<br> Schade-4" ;}
    }

    echo 
    "4" ;

    if (!
    $_POST["sent"]){
    echo 
    "5" ;
    ?>
    <form action = "<? echo $_SERVER["PHP_SELF"]; ?>" method="post">
    <input type="hidden" name="sent", Value="1">
    Vorname <br> <input type ="text" name="vorname" value="<?php echo $_POST["vorname"]; ?>" size="20"> <br>
    Nachname <br> <input type ="text" name= "nachname" value="<?php echo $_POST["nachname"];?>" size="20"> <br>
    E-Mail <br> <input type ="text" name= "email" value="<?php echo $_POST["email"]; ?>" size="30"> <br>
    <br>
    <h4>Wie hat Ihnen das Spiel gefallen?</h4>
    <select size ="1" name="rank">
    <option Value="1"> keine Angaben </option>
    <option Value="2"> sehr gut </option>
    <option Value="3"> gut </option>
    <option Value="4"> nicht so gut </option>
    <option Value="5"> taucht überhaupt nichts</option>
    </select><br><br>
    <input type="submit" name="Submit" Value ="abschicken">
    </form>
    <?php
    }
    ?>
    </body>
    </html>

  • #2
    Hallo,

    bitte den Beitrag oben überarbeiten und einen vernünftigen Thread-Titel angeben und die Code/PHP-Tags im Forum nutzen.

    Was ist deine Frage?

    Wenn "etwas nicht funktioniert", zuerst mal das hier versuchen. https://php-de.github.io/jumpto/faq/#debugging
    The string "()()" is not palindrom but the String "())(" is.

    Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
    PHP.de Wissenssammlung | Kein Support per PN

    Kommentar


    • #3
      Hallo Haus,
      Vielen Dank. Da ich im Forum Anfänger bin, daher einige Fragen vorweg, damit ich in Zukunft die Threads richriig einordnen kann.

      1. Warum erscheint bei mir auf meine E-Mail keine Meldung, dass ein Antwort in Forum vorliegt? Habe ich etwas falsch eingestellt?
      2. Was ist code/PHP Tags? Ist dies ein extra Forum?
      3. Wie bennent man ein Thread bzw. warum ist mein Thread irreführend?
      4. Wie kann ich Dump einschalten?
      5. Wie oder was soll ich umändern oder umarbeiten?

      Meine Frage war:
      Nach der Kommentarzeilen kommt der Befehl (siehe Listing oben):
      PHP-Code:
      if ($_Post["sent"]=="1") {........ 
      Das Programm geht aber in dieser For-Schleife nicht rein obwohl der Wert von sent=1 ist, wie echo Kommando (4-Zeilen höher) es zeigt?
      Wie man dazu kommt, habe ich in der Listing oben beschrieben.

      Kommentar


      • #4
        $_Post ist nicht gleich wie $_POST .. aufgefallen? PHP unterscheidet Groß und Kleinschreibung zB bei Variablennamen.

        Das und der Rest sind Grundlagen, schau dir das mal an. Dafür ist ein Forum nicht da um dir Grundlagen zu lehren.

        Oben ging es mit um den Titel deines Themas. Das Thema nennst du gleich wie deinen Benutzernamen, das ist sinnlos.

        Die Code-Tags sind für die Formatierung des Quelltextes. Schau dir im Editor mal die Buttons durch da gibt es "#" und "php". Das sind die.

        Ich korrigiere das oben mal damit du hoffentlich erkennst was ich meinte.


        The string "()()" is not palindrom but the String "())(" is.

        Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
        PHP.de Wissenssammlung | Kein Support per PN

        Kommentar


        • #5
          Das ganze Script ist einfach nur grausam.

          Das hier ist zwar auch nicht optimal, sollte aber einem Anfänger schon mal Anhaltspunkte geben:

          PHP-Code:
          <!doctype html>
          <html lang="de">
            <head>
              <meta charset="utf-8">
              <title>FAQ</title>
            </head>
            <body>
          <?php
             $vorname 
          $nachname $email "";

             if (isset(
          $_POST["vorname"]))
             {
                
          $error false;

                
          $vorname  $_POST["vorname"];
                
          $nachname $_POST["nachname"];
                
          $email    $_POST["email"];

                if (empty(
          $vorname))
                {
                   echo 
          "<br>bitte geben Sie einen Vornamen ein";
                   
          $error true;
                }

                if (empty(
          $nachname))
                {
                   echo 
          "<br>bitte geben Sie einen Nachnamen ein";
                   
          $error true;
                }

                if (empty(
          $email))
                {
                  echo 
          "<br>bitte geben Sie einen E-Mail ein";
                  
          $error true;
                }


                if (! 
          $error)
                {
                    echo 
          "Ihre Daten: $vorname $nachname$email<br>";

                    switch (
          $_POST['rank'])
                    {
                        case 
          1: echo "<br> Danke für die Teilnahme - 1<br><br>";
                                break;
                        case 
          2: echo "<br> Schön, das Ihnen der Spiel gefallen hat - 2<br><br>";
                                break;
                        case 
          3: echo "<br> Danke für die Teilnahme - 3<br><br>";
                                break;
                        case 
          4: echo "<br> Schade - 4<br><br>";
                                break;
                        case 
          5: echo "<br> Das tut mir leid - 5<br><br>";
                                break;
                    }
                }
             }
          ?>
            <form action = "" method="post">
              Vorname <br> <input type ="text" name="vorname" value="<?php echo $vorname?>" size="20"> <br>
              Nachname <br> <input type ="text" name= "nachname" value="<?php echo $nachname;?>" size="20"> <br>
              E-Mail <br> <input type ="text" name= "email" value="<?php echo $email?>" size="30"> <br>
              <br>
              <h4>Wie hat Ihnen das Spiel gefallen?</h4>
              <select size ="1" name="rank">
                <option Value="1"> keine Angaben </option>
                <option Value="2"> sehr gut </option>
                <option Value="3"> gut </option>
                <option Value="4"> nicht so gut </option>
                <option Value="5"> taugt überhaupt nichts</option>
              </select><br><br>
              <input type="submit" name="Submit" Value ="abschicken">
            </form>
          </body>
          </html>
          Die Deutsche Rechtschreibung ist Freeware! Du darfst sie kostenlos nutzen, allerdings ist sie nicht Open Source, d.h. Du darfst sie nicht verändern oder in veränderter Form veröffentlichen.

          Kommentar


          • #6
            Hallo Haus,
            danke für das Tipp. Ich habe sooft hingeschaut und nicht gesehen (POST und Post)!!! Npchmals danke. Ich versuche seit 2 Tagen diesen Fehler zu finden. Ich bin Anfänger und lerne noch PHP und wende mich nur an Euch, wenn ich wirklich nicht weiter komme.
            Das war natürlich doof, dass ich als Thema Thundersa eingegeben habe. Ich wollte If-Schliefe eingeben.

            Hallo Haus,
            ist es möglich, dass ich auf meine E-Mail eine Mitteilung erhalte, wenn ein Antwort vorliegt? Falls jua, wie geht es?

            Hallo Uha,
            danke für das Code. Ich werde diese studieren. Aber wie gesagt, ich bin noch beim lernen.

            Kommentar


            • #7
              Zitat von Thundersax Beitrag anzeigen
              Ich wollte If-Schliefe eingeben.
              http://www.if-schleife.de/

              Kommentar

              Lädt...
              X