Ankündigung

Einklappen
Keine Ankündigung bisher.

Affenformular

Einklappen

Neue Werbung 2019

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

  • Affenformular

    Hallo,

    $error['wert'] = "Dieses Feld darf nicht leer sein.";

    Wieso zeigt er mir die Fehlermeldung nicht an, wenn das Feld "wert" leer ist?

    PHP-Code:
    <?php
     
    if (isset ($POST['speichern']))
     {
         if(empty(
    $_POST['wert']))
         {
             
    $error['wert'] = "Dieses Feld darf nicht leer sein.";
         }
     }

     if (empty(
    $error) && isset($_POST['speichern']))
     {
         
    // Hier wird DB-eintrag vorgenommen werden
         
    echo "Eintrag wurde erfolgreich durch geführt.";
     }
     elseif (isset (
    $_POST['auswahl']))
     {
         if(!empty(
    $error))
         {
             echo 
    "Es ist ein Fehler aufgetreten.";
         }
         echo 
    "<form action="$_SERVER['PHP_SELF'] ." method=\"post\">";
         echo 
    "  <input type=\"text\" name=\"wert\" />";
         echo 
    "  <input type=\"submit\" name=\"speichern\" value=\" speichern \" />";
         echo 
    "</form>";
     }
     else
     {
         echo 
    "<form action="$_SERVER['PHP_SELF'] ." method=\"post\">";
         echo 
    "  <input type=\"submit\" name=\"auswahl\" value=\" ausw&auml;hlen \" />";
         echo 
    "</form>";
     }
    ?>
    GN

  • #2
    error_reporting(E_ALL); ini_set('display_errors', true);
    an den Anfang des Skripts setzen.
    Das zeigt Dir dann schonmal an, dass Du bei $POST ein _ vergessen hast.

    Wenn Du Deine Zeichenketten in ' setzt, musst Du " nicht \" schreiben.
    PHP-Code:
    <?php
    echo '  <input type="submit" name="speichern" value=" speichern " />';
    // finde ich lesbarer als
    echo "  <input type=\"submit\" name=\"speichern\" value=\" speichern \" />";
    ?>
    naja, vermutlich Geschmackssache.

    Ohne Debugger hilft meist nur: Kein if ohne else und kein Zweig ohne Ausgabe.
    PHP-Code:
    <?php
    if ($a) {
        echo 
    '$a ist wahr';
        if (
    $b) {
            echo 
    '$b ist wahr';
        }
        else {
            echo 
    '$a ist NICHT wahr';
        }
    }
    else
        echo 
    '$a ist NICHT wahr';
    ?>
    Ausserdem mal Anfang mal mit print_r($_POST) anzeigen lassen, mit welchen Daten gearbeitet wird.

    Kommentar


    • #3
      Kein if ohne else
      display: unnecessary else ????

      Kommentar


      • #4
        Re: Affenformular

        [quote="GN"]Hallo,

        $error['wert'] = "Dieses Feld darf nicht leer sein.";

        Wieso zeigt er mir die Fehlermeldung nicht an, wenn das Feld "wert" leer ist?

        PHP-Code:
        <?php
         
        if (isset ($POST['speichern']))
         {
             if(empty(
        $_POST['wert']))
             {
                 
        $error['wert'] = "Dieses Feld darf nicht leer sein.";
             }
         }
        ?>
        /quote]

        Warum sollte er sowas ausgeben, wenn er gar nicht in die äußere if-Anweisung reinläuft?
        Abgesehen von der falschen Variable $POST müssen beide Bedingungen erfüllt sein, damit er da hin kommt.
        **********************************
        Nein, ich bin nicht die Signatur.
        Ich putze hier nur.
        **********************************

        Kommentar


        • #5
          Hallo,

          dass Du bei $POST ein _ vergessen hast
          habe ich geändert.
          Meine Frage ist, wie kann man die Sache umbauen, das erst $_POST['auswahl'] verarbeitet wird und wenn da kein Fehler vorhanden ist $_POST['speichern'] verarbeitet wird?

          PHP-Code:
          <?php
           error_reporting 
          (E_ALL);
           
           if (isset (
          $_POST['auswahl']))
           {
               if(empty(
          $_POST['test']))
               {
                   
          $error['test'] = "Dieses Feld darf nicht leer sein.";
               }
           }
           if (isset (
          $_POST['speichern']))
           {
               if(empty(
          $_POST['wert']))
               {
                   
          $error['wert'] = "Dieses Feld darf nicht leer sein.";
               }
           }

           if (empty(
          $error) && isset($_POST['speichern']))
           {
               
          // Hier wird DB-eintrag vorgenommen werden
               
          echo "Eintrag wurde erfolgreich durch geführt.";
           }
           elseif (isset (
          $_POST['auswahl']))
           {
               if(!empty(
          $error))
               {
                   echo 
          "Es ist ein Fehler aufgetreten.";
               }
               echo 
          "<form action="$_SERVER['PHP_SELF'] ." method=\"post\">";
               echo 
          "  <input type=\"text\" name=\"wert\" />";
               echo @
          $error['wert'];
               echo 
          "  <input type=\"submit\" name=\"speichern\" value=\" speichern \" />";
               echo 
          "</form>";
           }
           else
           {
               if(!empty(
          $error))
               {
                   echo 
          "Es ist ein Fehler aufgetreten.";
               }
               echo 
          "<form action="$_SERVER['PHP_SELF'] ." method=\"post\">";
               echo 
          "  <input type=\"text\" name=\"test\" />";
               echo 
          "  <input type=\"submit\" name=\"auswahl\" value=\" ausw&auml;hlen \" />";
               echo @
          $error['test'];
               echo 
          "</form>";
           }
          ?>
          GN

          Kommentar


          • #6
            Zitat von GN
            Meine Frage ist, wie kann man die Sache umbauen, das erst $_POST['auswahl'] verarbeitet wird und wenn da kein Fehler vorhanden ist $_POST['speichern'] verarbeitet wird?

            mit elseif statt if?

            Kommentar


            • #7
              Hi,

              ich verwende doch elseif...?

              GN

              Kommentar


              • #8
                Zitat von J33d3X
                Kein if ohne else
                display: unnecessary else ????
                ähm, bestimmt.
                Wie meinen?

                Kommentar


                • #9
                  Hi,

                  ich habe aus
                  Code:
                  elseif (isset ($_POST['auswahl']))
                  PHP-Code:
                  elseif (empty($error) && isset($_POST['auswahl'])) 
                  gemacht.
                  Das einzige Problem was ich nun noch habe ist, wenn im elseif-Teil das Feld "wert" leer bleibt springt er wieder in den else-Teil.

                  Was muss ich ändern, das er mir im elseif-Teil die Fehlermeldung anzeigt.

                  GN

                  Kommentar

                  Lädt...
                  X