Checkbox abfragen [PHP]



  • Die Sache ist relativ simpel eine normale "Regeln akzeptiert Checkbox" soll bei einer Anmeldung geprüft werden. Aber wie?

    if($_POST['agbakz']!="ok") wär ja einfach allerdings ist denn auch ein Fehler im Formular, sobald der User das Formular zum ersten mal aufruft.

    Die Geschichte mit isset schlug auch fehl hab es als && Verknüpfung versucht.

    Wer hatt eine Idee? Ich würd sonst einfach als Abfrage ob es der erste Aufruf ist, ein isset von einer Textbox nehmen, wäre aber nicht so elegant die Lösung.



  • Ich hab einfach den Button mit isset genommen. So ist es gelöst.



  • Also wenn du eine Checkbox hast mit Namen "test", d.h. so:

    <form name="f" action="..." method="post">
    <INPUT type="checkbox" NAME="test" VALUE="test"/>
    </form>
    

    und dann mit isset prüfst, also so:

    if ( isset($_POST['test']) ) {
      //Checkbox ist markiert
    }
    

    dann funktioniert das schon auch.
    Du wirst wohl irgendwo nen Fehler gemacht haben (z.B. benutzt du GET im Formular anstelle von POST, und frägst dann aber eben die $_POST Variable ab oder sowas).



  • ich würde nie einfach nur isset nehmen.
    angenommen man benutzt get, dann ist isset auch dann true, wenn in der url steht:

    http://url.tdl/blah.php?checkbox=&checkbox2=asd

    Obwohl nur checkbox2 wirklich angeklickt wurde. und ich glaube, es ist auch nicht spezifiziert worden, das bei einer nicht gecheckten box auch _gar_nix_ in der url steht. selbiges kann auch für post gelten.

    Die abfrage auf den entsprechenden value ist schon sinnvoll.

    <form name="f" action="dummy.php" method="get"> 
    <INPUT type="checkbox" NAME="test" VALUE="test"/> 
    <INPUT type="submit" NAME="go" VALUE="go"/> 
    </form>
    
    <?php
    if ( isset($_GET['test']) && isset($_GET['test']) == "test")
    {
    	echo "test: ".$_GET["test"];
    }
    ?>
    

Anmelden zum Antworten