最近のトラックバック

  • event (夢茶爺&苦茶爺のPC奮戦備忘録)

カウンタ

おすすめ本

AccRanking

« phpMyAdminでcreate functionではまったこと | メイン | submitとフォーム変数について »

2011年4月25日 (月)

checkboxとフォーム変数について

checkboxとPHPに渡されてくるフォーム変数について、すこし調べてみました。

以下の様なPHPソースを実行させると、チェックを入れた一番下の値しかフォーム変数に渡されないことがわかります。
ラジオボタンの様な動作になっています。


ここでvalue="1"のcheckboxの前にhiddenを追加してみます。


この場合の動作は、チェックボックスに1個でもチェックがあれば、最後のチェックボックスの値が"foo"として 渡されますが、チェックが無ければhiddenの値である"0"が渡されます。
この方法を使えば、デフォルト値的なことができますが、少々イレギュラーな使い方ではあります。
通常は、isset($_POST["foo"]を調べれば同じことができますが。


チェックボックスの使い方であれば、以下の様にするのが一般的です。


ただし、この方法だとfooの配列としてフォーム変数が渡されますが、配列の添え字が詰まった形で渡されてきます。
twoとfourにチェックをして送信した場合は、フォーム変数が以下の様になります。
($_POSTをprint_r()関数で出力してもの)
$_POST:Array ( [foo] => Array ( [0] => 2 [1] => 4 ) [tx] => 送信 )

もし、添え字も値と合わせたいのであれば、以下の様にします。




この場合、twoとfourにチェックをして送信した場合は、フォーム変数が以下の様になります。

($_POSTをprint_r()関数で出力してもの)
$_POST:Array ( [foo] => Array ( [2] => 2 [4] => 4 ) [tx] => 送信 )

楽天市場

トラックバック

このページのトラックバックURL:
http://app.mitelog.jp/t/trackback/459161/26365913

checkboxとフォーム変数についてを参照しているブログ:

コメント

コメントを投稿