Formular Pflichtfelder überprüfen

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

  • Formular Pflichtfelder überprüfen

    hi boardies,
    wie kann man denn mit php bei einemformular pflichtfelder überprüfen, und sofern diese felder nicht ausgefüllt sind, dem user einen hinweis geben und das formular nicht abschicken lassen?
    vielen dank schon mal im vorraus
    mfg
    möter, halb mensch, halb köter

  • #2
    Das ist eine Javascript Problem und gehört net hierher.

    Kommentar


    • #3
      Re: Formular Pflichtfelder überprüfen

      Original geschrieben von Möter
      mit php
      also wohl doch hier

      wenn in deinem form-tag method="post" steht, dann greifst du über $_POST['namedesfeldes'] darauf zu, sonst mit $_GET['namedesfeldes']
      Ich denke, also bin ich. - Einige sind trotzdem...

      Kommentar


      • #4
        Original geschrieben von Celebi
        Das ist eine Javascript Problem und gehört net hierher.
        das kann man auch brav mit php machen.

        allerdings wird erst das formular gesendet, dann geprüft und ggfs wird das formular noch einmal neu angezeigt, sodass die fehler korriert werden.


        @Möter
        hast du schon mal die suchfunktion genutzt?
        http://www.php-resource.de/forum/search.php?s=
        INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


        Kommentar


        • #5
          also man muss wie bereits erwähnt das formular senden.
          du brauchst auch nicht mit globalen variablen arbeiten.

          wenn dein pflichtfeld zum beispiel name heisst

          PHP-Code:
          <input type="text" name="name" size="20" style="width:300px" value=""
          und du schicktst das formular ab dann machst du eine einfache Prüfung:

          PHP-Code:
          if ($name == ""){ echo "<font color='#FF0000'>Sie haben keinen <b> Namen</b> eingegeben.</font><br>";} 
          das ganze kannst du mit allen Pflichtfeldern machen und mit einer else bedingung hintereinander schalten.

          am ende würde ich noch eine Prüfung machen

          PHP-Code:
          else if($vname && $name && $tel && $usw) { echo"Daten ok!"mail();} 
          dann hast eigentlich fast alles abgefangen. Ausser die Syntax (z.B. gültige Email, nur Zahlen als Tel.)


          Gültige Email:
          PHP-Code:
                  if ($email == "")
                  {
                  echo 
          "<font color='#ff0000'>Bitte Email eintragen !</font><br>";
                  }
                  elseif(!
          ereg("^[a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@[a-zA-Z0-9-]+\.([a-zA-Z]{2,3})$"$email))
                  {
                  echo 
          "<font color='#ff0000'>Email hat das falsche Format!</font><br>";
                  } 
          Ein blue screen ist nicht immer was schlimmes... es hängt nur davon ab wo er zu sehen ist !
          www.d-creationz.de

          Kommentar


          • #6
            oder mit javascript

            Code:
            <script language="JavaScript">
            function check_form(objekt)
            {
            var pflicht1 = document.NAME.FELDNAME.value;
            var pflicht2 = document.NAME.FELDNAME.value;
            if(pflicht1 == '')
            {
             alert("Feld pflicht1 ist Pflichtfeld !"");
             return false;
            }
            if(pflicht2 == '')
            {
             alert("Feld pflicht2 ist Pflichtfeld");
             return false;
            }
            }
            </script>
            </head>
            
            <form action="" name="" method="" OnSubmit="return check_form(this)">
            <input type="Submit" name="senden" value="absenden">
            </form>
            mfg
            Jan

            Kommentar


            • #7
              ich wuerd die javascript variante aber nur als erweiterung nehmen ...

              also mit php auf jedenfall pruefen und das javascript als koreunung.
              denn was passiert sonst wenn der user javascript deaktiviert hat ...

              die daten werden vorm eintragen nicht geprueft ...

              greetz

              iglo

              Kommentar


              • #8
                Hi Leute,
                Mann kann das auch mit isset lösen . Also PHP
                PHP-Code:
                ...

                if (!isset(
                $email) ) {
                echo 
                "<font color='#ff0000'>Bitte Email eintragen !</font><br>"

                Linux



                Meldung: Erst hosten, dann posten.

                Kommentar


                • #9
                  wenn du da mal nicht falsch liegst.

                  isset überprüft nämlich, ob die var deklariert ist. wenn sie von einem formular kommt, ist sie das und damit gibt isset auch 1 zurück, wenn sie leer ist.

                  wenn, dann mit "empty"

                  aber solche sachen würde ich immer mit regex machen

                  Kommentar


                  • #10
                    Hmm...das mit regex musst du mir mal erklären was das ist...
                    empty ginge auf jeden Fall ganz gut.
                    Als Beispiel zur Verwendung:

                    PHP-Code:
                    <?PHP
                    $a 
                    "24";
                    $b "";
                    if(!empty(
                    $a))
                    echo 
                    "Variable \$a ist gefüllt<br/>";
                    else if(empty(
                    $a))
                    echo 
                    "Variable \$a ist nicht gefüllt<br/>";
                    if(!empty(
                    $a))
                    echo 
                    "Variable \$a ist gefüllt<br/>";
                    else if(empty(
                    $a))
                    echo 
                    "Variable \$a ist nicht gefüllt<br/>";
                    ?>

                    EDIT:
                    php.tags by Abraxax
                    Zuletzt geändert von Abraxax; 07.07.2003, 13:58.
                    hmm...klappt nicht? ich glaube das Problem liegt....60 cm vor dem Monitor.

                    Kommentar


                    • #11
                      Original geschrieben von reaVen
                      du brauchst auch nicht mit globalen variablen arbeiten.
                      ...
                      Wenn die Variablen aus dem Formular dem Script zur Verfügung stehen,
                      sind sie bereits im global scope, und das funkt nur, wenn
                      register_globals an ist (seit 4.2x standartmässig ausgeschaltet).
                      http://www.php.net/manual/en/configu...gister-globals

                      Wenn off bzw. false, kann mit den superglobals $_GET, $_POST, $_COOKIE, $_SERVER, trallalla, gearbeitet werden.
                      http://www.php.net/manual/en/languag...s.superglobals

                      7-/anz

                      Kommentar

                      Lädt...
                      X