Checkbox-Problem bei Affenformular

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

  • Checkbox-Problem bei Affenformular

    Hallo.

    ich habe mir eine Umfrage aufgebaut und bin dabei, mit Hilfe eines Affenformulars die Angaben beim Betätigen des Submit Buttons zu überprüfen. dies klappt bei meinen Textfeldern und den Radiobuttons ohne Probleme. Auch werden korrekte Angaben in Textfeldern und Radiobuttons wieder angezeigt, so dass die Nutzer richtige Angaben wiederholen müssen.

    Für Checkboxen habe ich nun folgendes ersonnen...

    PHP-Code:
    <input type="checkbox" name="Drei[]" value="Modem" <?php foreach($_POST['Drei'] as $elem) if($elem == "Modem") echo 'checked="checked"'?>>Modem<br>
    Prinzipiell funktioniert diese Codezeile, mir wird aber beim erstmaligem Aufruf der Umfragenseite folgende Fehlermeldung bei den Checkboxen ausgegeben... wähle ich nun eine Checkbox aus, verschwindet die Fehlermeldung... deaktiviere ich nun aber meine Auswahl... kommt die fehlermeldung wieder.



    Warning: Invalid argument supplied for foreach() in C:\webserver\xampp\htdocs\Test3.php on line 40

    Was löst diese Fehlermeldung aus, bzw. wie kann ich das beheben?
    Zuletzt geändert von Sturmwind; 20.09.2006, 15:58.

  • #2
    Re: Checkbox-Problem bei Affenformular

    Wenn du die Seite das erste mal aufrufst, gibt es kein $_POST['Drei'], genauer ist bei Aufruf über GET $_POST volkommen leer.

    Wenn du dein error_reporting auf E_ALL stehen hättest (wie es unsere Regeln empfehlen - mach das bitte), dann solltest du sogar noch eine zusätzliche Meldung angezeigt bekommen, dass es $_POST['Drei'] gar nicht gibt.

    Überprüfe also vorher, ob $_POST['Drei'] überhaupt gesetzt ist, mit isset(), und ggf. auch noch, ob es sich dabei um ein Array handelt, is_array().


    Und breche bitte auch deinen Code um, wie es in den Regeln steht!
    Zuletzt geändert von wahsaga; 20.09.2006, 16:04.
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      Hallo.

      Danke, ich werde das gleich entsprechend umsetzen und die Hinweise berücksichtigen.

      Kommentar


      • #4
        Re: Checkbox-Problem bei Affenformular

        Original geschrieben von Sturmwind
        deaktiviere ich nun aber meine Auswahl... kommt die fehlermeldung wieder.

        an wahsaga angeknüft: deaktivierte auswahl posten ist in dem falle wie ein erster aufruf...
        **********
        arkos
        **********

        Kommentar


        • #5
          PHP-Code:
          <?php if(isset($_POST['Drei'] )&&is_array($_POST['Drei'] )&& in_array("Modem",$_POST['Drei'])) 
          echo 
          'checked="checked"'?>
          Slava
          bituniverse.com

          Kommentar


          • #6
            Vielen Dank für eure Hilfe.

            Kommentar


            • #7
              Hallo Slava...

              Danke für die Angabe des Quellcodes... auf diese Art der Umsetzung wäre ich gar nicht gekommen.

              Eine Frage habe ich nun allerdings... ich habe die Zeile bei mir eingefügt... doch beim allerersten Aufruf der Seite gibt er die obige Fehlermeldung immer noch aus...

              Kommentar


              • #8
                Diese Zeile gibt immer noch einen Fehler ?
                PHP-Code:
                <?php 
                if(isset($_POST['Drei'] ) && is_array($_POST['Drei'] ) && in_array("Modem",$_POST['Drei'])){
                    foreach(
                $_POST['Drei'] as $elem){
                        if(
                $elem == "Modem") echo 'checked="checked"';
                    }
                }
                Kann ich mir nicht so ganz vorstellen...

                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


                • #9
                  Original geschrieben von Sturmwind
                  ich habe die Zeile bei mir eingefügt... doch beim allerersten Aufruf der Seite gibt er die obige Fehlermeldung immer noch aus...
                  Dann hast du vermutlich entweder dein foreach noch dringelassen - was bei Slavas Vorschlag überflüssig ist - oder die Seite wird dir noch aus dem Cache angezeigt.
                  I don't believe in rebirth. Actually, I never did in my whole lives.

                  Kommentar


                  • #10
                    es kann in keinem fall die gleiche fehlermeldung kommen, da in meinem beispiel überhaupt kein foreach vorhanden ist

                    ooh! meine Rechtsschreibung
                    Slava
                    bituniverse.com

                    Kommentar


                    • #11
                      Der Cache war das Problem, danke.

                      Kommentar

                      Lädt...
                      X