Formularfelder auf ausgefüllt prüfen

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

  • Formularfelder auf ausgefüllt prüfen

    Hallo!

    Ich habe schon öfter Forumlare erstellt, dabei habe ich meistens auf der nächsten Seite per IF überprüft, ob alle Felder ausgefüllt sind.

    Jetzt habe ich Seiten mit jeweils 30 Feldern.
    Da wäre es etwas umständlich alle Variablen von "Hand" zu überprüfen (Array mit Variablennamen und dann eine Scheife), außerdem schleichen sich so Fehler ein.

    Es handelt sich um Radioboxes, die ich per Session weitergebe. Diese haben keinen Startwert! Daher tauchen diese auch nicht in der $_SESSION auf wenn sie nicht ausgefüllt werden.

    Was tun?

    Gruß,
    Udo

  • #2
    Du könntest clientseitig mit Javascript prüfen, aber wenn das jemand nicht aktiviert hat oder mutwillig leere Felder versenden möchte, kannst du dem nur serverseitig was entgegen setzen.

    Lass die Radioboxes alle rb[irgendwas] heißen und prüfe im Script mit isset() und count().

    Kommentar


    • #3
      Gerade Javascript wollte ich vermeiden...

      Kommentar


      • #4
        Na sag ich doch. Meinte ich zumindest, anscheinend habe ich mich mißverständlich ausgedrückt, 'tschuldige.

        Kommentar


        • #5
          JavaScript Einsatz bei Sachen die Komfort schaffen, aber auch ohne JS bedienbar / benutzbar sind, sehe ich durchaus positiv entgegen. Entlastet evtl. ja auch den Server, da die Seite nicht neu geladen werden muss. Hat der User kein JS aktiviert, wird halt spätestens serverseitig die Eingabe gecheckt + ne Errormessage ausgegeben...
          Für alle die Fehler suchen, gibts gratis tolle Debuggingmöglichkeiten:
          var_dump(), print_r(), debug_backtrace und echo.
          Außerdem gibt es für unsere Neueinsteiger ein hervorragendes PHP Tutorial zu PHP 4 und PHP 5 (OOP)
          Es heißt $array['index'] und nicht $array[index]! Und nein, das ist nicht egal!
          Dieses Thema lesen, um Ärger im Forum und verzögerte Hilfen zu vermeiden.

          Kommentar


          • #6
            Sprech ich Spanisch?

            Ohne Javascript !!!

            Bitte, bitte, bitte

            Kommentar


            • #7
              Nur die Ruhe, bitte nocheinmal das Post von "onemorenerd" durchlesen.

              Dabei sollte dir folgendes auffallen:
              isset() und count()



              grüsse lukass

              //
              Zuletzt geändert von LukasS; 31.07.2005, 18:58.

              Kommentar


              • #8
                Re: Formularfelder auf ausgefüllt prüfen

                Original geschrieben von wischinski
                Daher tauchen diese auch nicht in der $_SESSION auf wenn sie nicht ausgefüllt werden.
                OffTopic:
                tun sie "automatisch" auch sonst nicht, es sei denn, du legst sie dort ab. </klugscheiss>

                Kommentar


                • #9
                  Original geschrieben von wischinski
                  Sprech ich Spanisch?

                  Ohne Javascript !!!

                  Bitte, bitte, bitte
                  Bleib mal locker, okay? Ich habe lediglich meine Meinung bzgl. JavaScript dazugeben.
                  Also schön nett bleiben. Danke.
                  Für alle die Fehler suchen, gibts gratis tolle Debuggingmöglichkeiten:
                  var_dump(), print_r(), debug_backtrace und echo.
                  Außerdem gibt es für unsere Neueinsteiger ein hervorragendes PHP Tutorial zu PHP 4 und PHP 5 (OOP)
                  Es heißt $array['index'] und nicht $array[index]! Und nein, das ist nicht egal!
                  Dieses Thema lesen, um Ärger im Forum und verzögerte Hilfen zu vermeiden.

                  Kommentar


                  • #10
                    Das Problem ist, dass ich mir isset() auf der Folgeseite nichts nützt, wenn die Variablennamen nicht als key in der $_SESSION auftauchen.

                    <klugscheiss name="penizilin"> Die Variablen werden nicht an $_SESSION übergeben, da es sich um Radiobuttons handelt, bei denen ich keinen Defaultwert setzen kann, der nicht am Bildschirm sichtbar wird.</klugscheiss>

                    Sollte ich mich im Ton vergriffen haben, entschuldige ich mich selbstverständlich dafür.

                    Gruß,
                    Udo

                    Kommentar


                    • #11
                      Original geschrieben von wischinski
                      Das Problem ist, dass ich mir isset() auf der Folgeseite nichts nützt, wenn die Variablennamen nicht als key in der $_SESSION auftauchen.
                      PHP-Code:
                      $_SESSION['fo'] = NULL;
                      $_SESSION['b'] = 1;

                      echo 
                      'Index fo gesetzt: '.(int)isset($_SESSION['fo']).'<br />';
                      echo 
                      'Index b gesetzt: '.(int)isset($_SESSION['fo']).'<br />';
                      echo 
                      'Index ar gesetzt: '.(int)isset($_SESSION['ar']); 
                      oder was meintest du?
                      Ich denke, also bin ich. - Einige sind trotzdem...

                      Kommentar


                      • #12
                        Du weisst schon wie Forms funzen ?
                        Wieso zum T..... die Boxes in die Session ? Mittels
                        PHP-Code:
                        isset($_POST['name_des_feldes']); 
                        Kannst du doch ganz einfach mittels PHP feststellen ob ein Feld ausgefüllt wurde.
                        Du könntest du Buttons auch so benennen name="abc_1" Dann kannst du das Ganze auch in einer while Schleife durchlaufen (die _1 musst du natürlich durchnummerieren)

                        Gruss

                        tobi
                        Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                        [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                        Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                        Kommentar


                        • #13
                          ... und wie oft die Schleife läuft, ermittelst du mit count().

                          Wir drehen uns im Kreis. Und aufgepaßt, gleich kommt er wieder mit "kein Javascript".

                          Kommentar


                          • #14
                            Original geschrieben von wischinski
                            Sollte ich mich im Ton vergriffen haben, entschuldige ich mich selbstverständlich dafür.
                            dann unterlässt du sowas wie <klugscheiss name="..."> demnächst bitte gleich, dann brauchst du dich auch nicht anschließend dafür zu entschuldigen.
                            *verwarnung*
                            I don't believe in rebirth. Actually, I never did in my whole lives.

                            Kommentar


                            • #15
                              Also nochmal:

                              Ich habe Radiobuttons auf Seite 1. Diese können die Werte 1-5 (ordinale Ratingskala) annehmen. Anfangs ist kein Knopf aktiviert.

                              Wenn nun der Besucher auch keinen Knopf aktiviert, wird die Variable auch nicht in die $_POST überführt.
                              Ergo bringt auch die Überprüfung mit isset() nichts.
                              Auch weil ich 25 dieser Skalen auf einer Seite habe und diese nicht fortlaufend (für eine Schleife) nummerieren kann (wg. multivariater Analysemethode).

                              Noch was:
                              den Schuh mit den Tags zieh ich mir nicht an, lieber Moderator.
                              Ich hab nur den Tag von penizilin weitergeführt.

                              Kommentar

                              Lädt...
                              X