質問: HTMLのformをあるphpにpostするとき、 checkboxのようなフォーム部品をチェックしているときはtrueを、 チェックされていないときはfalseを、 valueに格納して送信する。 ということをしたいです。 つまり、 ``` 送信 ``` があったら、チェックして(しないで)submitしたとき、 $_POST["checkbox"] の中身がtrue(false)になる、 という感じの使いかたをしたいです。 (別にブーリアンでなくても、チェックされているかいないかを区別できる値(0と1、uncheckedとcheckedなど)をvalueに格納できる機能があれば何でもいいです。) checkboxはそういう使い方ができると思っていたのですが、 しかし、mozillaのマニュアルをみたところ、どうもcheckboxにはそういう機能はないらしいです。 (checkboxのvalueは、チェックをつけてpostした場合、htmlで直接指定された値がvalueに格納され、チェックをつけずにpostした場合、checkboxのvalueはundefinedになるそうです。) そこで、私の用途に合った、checkboxに代わるフォーム部品があれば教えて下さい。 宜しくお願いします。
回答: > > checkboxはそういう使い方ができると思っていたのですが、 > > > フォームから送信できる値は、ファイルを除けば**文字列**(及びその配列)だけなので、フォームから直接`true/false`を送信することはできません。 ``` ``` このように`value`をセットしたチェックボックスを送信した場合、 * チェックが入っていた場合→`$_POST['checkbox'] = '1';` * チェックが入っていなかった場合→`$_POST['checkbox']`はセットされない という状態になるので、`isset($_POST['checkbox'])`とすれば、チェックされたかを取得できます。