katsche: Prüfen ob ein Eingafeld ausgefüllt wurde.

Hallo zusammen!

Ich möchte in einem Formular prüfen, ob der Kunden alle Felder ausgefüllt hat. Fals nicht soll eine Meldung erscheinen. Zusätzlich muss auch mindestens ein Radiobutten angeklickt worden sein.
Wie kann ich das am einfachsten lösen.

Besten Dank!

  1. hi,

    Ich möchte in einem Formular prüfen, ob der Kunden alle Felder ausgefüllt hat. Fals nicht soll eine Meldung erscheinen. Zusätzlich muss auch mindestens ein Radiobutten angeklickt worden sein.
    Wie kann ich das am einfachsten lösen.

    beschäftige dich bitte mit http://dclp-faq.de/ch/ch-webvariablen.html. das ist weitgehend grundlagenwissen.

    gruß,
    wahsaga

    --
    I'll try being nicer if you'll try being smarter.
  2. Moin katsche!

    Ich möchte in einem Formular prüfen, ob der Kunden alle Felder ausgefüllt hat. Fals nicht soll eine Meldung erscheinen.

    Schicke dein Formular mit POST an eine php-datei, die dann prüft, ob die felder leer sind oder nicht.
    <?php
    if($_POST["name_des_formularfeldes"] == ""){
     echo "FEHLER";
    }
    ?>
    http://de3.php.net/manual/de/tutorial.forms.php
    http://de3.php.net/manual/de/faq.html.php
    http://de3.php.net/manual/de/language.variables.external.php

    Zusätzlich muss auch mindestens ein Radiobutten angeklickt worden sein.

    es gibt für radiobuttons das atribut checked.
    http://de.selfhtml.org/html/formulare/auswahl.htm#radiobuttons

    Wie kann ich das am einfachsten lösen.

    lesen und lernen.

    Besten Dank!

    bitte schön
    ichen

    --
    Selfcode: sh:( fo:| br: n4:& ie:% mo:| mo:| de:] zu:) fl:| ss:| ls:[ js:|
    1. Hallo,

      <?php
      if($_POST["name_des_formularfeldes"] == ""){
       echo "FEHLER";
      }
      ?>

      sas sollte sicherlich

      <?php
      if(isset($_POST["name_des_formularfeldes"]) && $_POST["name_des_formularfeldes"] == ""){
       echo "FEHLER";
      }
      ?>

      hat es vorteile, wenn man auf == "" oder mit empty() prüft, hat empty() Nachteile?

      mit empty() sieht die Lösung dann so aus

      <?php
      if(isset($_POST["name_des_formularfeldes"]) && empty($_POST["name_des_formularfeldes"])){
       echo "FEHLER";
      }
      ?>

      1. hi,

        hat es vorteile, wenn man auf == "" oder mit empty() prüft, hat empty() Nachteile?

        zitat manual: "Diese Funktion liefert TRUE, wenn eine Variable nicht definiert, leer oder gleich 0 ist, ansonsten FALSE."

        mit empty() sieht die Lösung dann so aus

        <?php
        if(isset($_POST["name_des_formularfeldes"]) && empty($_POST["name_des_formularfeldes"])){
         echo "FEHLER";
        }
        ?>

        es reicht dann durchaus aus, mit !empty() zu prüfen - ob die variable gesetzt ist, prüft empty() selber ja auch schon, s.o.

        gruß,
        wahsaga

        --
        I'll try being nicer if you'll try being smarter.
        1. Hallo,

          hat es vorteile, wenn man auf == "" oder mit empty() prüft, hat empty() Nachteile?

          zitat manual: "Diese Funktion liefert TRUE, wenn eine Variable nicht definiert, leer oder gleich 0 ist, ansonsten FALSE."

          mit empty() sieht die Lösung dann so aus

          <?php
          if(isset($_POST["name_des_formularfeldes"]) && empty($_POST["name_des_formularfeldes"])){
           echo "FEHLER";
          }
          ?>

          es reicht dann durchaus aus, mit !empty() zu prüfen - ob die variable gesetzt ist, prüft empty() selber ja auch schon, s.o.

          das wusste ich nicht ;-)
          aber lieber einmal mehr auf isset() prüfen, als nachher beim Test auf Fehlermeldungen zu stossen g*

          aber wenn man auf == "" prüft, sollte man schon auf isset() prüfen

          1. Hi,

            zitat manual: "Diese Funktion liefert TRUE, wenn eine Variable nicht definiert, leer oder gleich 0 ist, ansonsten FALSE."
            [...]
            es reicht dann durchaus aus, mit !empty() zu prüfen - ob die variable gesetzt ist, prüft empty() selber ja auch schon, s.o.

            da empty() bei der Eingabe von "0", also einer einfachen Null, true zurückgibt (s.o.), muss man immer aufpassen. Z.B. für ein Select in dieser Form

            <select name="plz_bereich" ...>
             <option value="0">0....</option>
             <option value="1">1....</option>
             <!-- usw. -->
            </select>

            ist das sicherlich nicht erwünscht und empty() daher denkbar schlecht geeignet.

            aber wenn man auf == "" prüft, sollte man schon auf isset() prüfen

            ja, sonst gibt's eine Warning.

            Gruß,
            Andreas.

            1. Hallo,

              Hi,

              zitat manual: "Diese Funktion liefert TRUE, wenn eine Variable nicht definiert, leer oder gleich 0 ist, ansonsten FALSE."
              [...]
              es reicht dann durchaus aus, mit !empty() zu prüfen - ob die variable gesetzt ist, prüft empty() selber ja auch schon, s.o.

              da empty() bei der Eingabe von "0", also einer einfachen Null, true zurückgibt (s.o.), muss man immer aufpassen.

              das ist natürlich mist mit der "0"
              bis jettz hab ich zum Glück damit noch nie Probleme gehabt

  3. Hallo katsche!

    Ich möchte in einem Formular prüfen, ob der Kunden alle Felder ausgefüllt hat.
    Fals nicht soll eine Meldung erscheinen.

    Leere Felder eines übertragenen HTML-Formulars sind "FALSE". Somit reicht eigenlich folgendes.

    <?php
       if ($_REQUEST["Feldname"]) {
           $errormsg[] = "Fehlermeldung";
       }
       if (...)
       ...

    // Fehlermeldungen ausgeben
       if (isset($errormsg)) {
       echo "<ul>";
       echo "Eingabefehler:";
       foreach($errormsg as $k => $v) {
          echo "<li>".$k."</li>";
       }
       echo "</ul>";
    ?>

    Es müsste auch mit einer Überprüfung auf "NULL" in der folgenden Form möglich sein:

    if ($_REQUEST["Feldname"] === NULL) { ... }

    Weiterführende Links:
     - dclp-FAQ: 11.18. Wie erkenne ich fehlerhafte/fehlende Eingaben?
       http://www.dclp-faq.de/q/q-formular-verarbeitung.html
     - dclp-FAQ: 11.9. Wie kann man Radio-Buttons verarbeiten?
       http://www.dclp-faq.de/q/q-formular-radio.html

  4. Hello,

    wahsaga hat Dir zwar die Wahrheit gesagt, aber nicht die Lösung:

    Bei POST:

    if(!isset($_POST['feld']) or strlen(trim($_POST['feld']))==0)
      {
        ## Eingabe fehlt
      }

    oder anders herum:

    if(isset($_POST['feld']) and strlen(trim($_POST['feld']))>0)
      {
        ## Eingabe vorhanden
      }

    Als fehlerhaft gelten

    • fehlende Parameter (nicht angeklickt, nicht übertragen)
    • nur mit Leerzeichen, Tabulatoren, Zeilenbvorschub gefüllte Felder

    Gerade bei Textareas könnte man ja nur ein paar Returns einsetzen, ohne ein einziges wertiges Zeichen einzutragen.

    Harzliche Grüße aus http://www.annerschbarrich.de

    Tom

    --
    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
    Nur selber lernen macht schlau
    1. hi,

      Als fehlerhaft gelten

      • fehlende Parameter (nicht angeklickt, nicht übertragen)
      • nur mit Leerzeichen, Tabulatoren, Zeilenbvorschub gefüllte Felder

      wenn du aber trim() machst, brauchst du doch nicht mehr unbedingt strlen = 0 abfragen - dann kannst du auch auf =='' abfragen.

      gruß,
      wahsaga

      --
      I'll try being nicer if you'll try being smarter.
      1. Hello,

        Als fehlerhaft gelten

        • fehlende Parameter (nicht angeklickt, nicht übertragen)
        • nur mit Leerzeichen, Tabulatoren, Zeilenbvorschub gefüllte Felder

        wenn du aber trim() machst, brauchst du doch nicht mehr unbedingt strlen = 0 abfragen - dann kannst du auch auf =='' abfragen.

        Das ist wohl wahr und wird intern wahrscheinlich sogar ähnlich abgefragt.

        Harzliche Grüße aus http://www.annerschbarrich.de

        Tom

        --
        Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
        Nur selber lernen macht schlau