CodeIgniterで複数のチェックボックスのArrayを取得したい場合

POSTデータに配列状態のチェックボックスが欲しい場合、
HTMLの記述構文を注意する必要がある。

だめな例
<input type=”checkbox” id=”chk1″ name=”chk” value=”1″/> <label for=”chk1″>選択肢1</label><br />
<input type=”checkbox” id=”chk2″ name=”chk” value=”2″/> <label for=”chk2″>選択肢2</label><br />
<input type=”checkbox” id=”chk3″ name=”chk” value=”3″/> <label for=”chk3″>選択肢3</label><br />

上記の様な記述をした場合、
POST後に値をチェックすると
複数チェックされていても最後のチェックの値のみが取得される
しかし、
<input type=”checkbox” id=”chk1″ name=”chk[]” value=”1″/> <label for=”chk1″>選択肢1</label><br />
<input type=”checkbox” id=”chk2″ name=”chk[]” value=”2″/> <label for=”chk2″>選択肢2</label><br />
<input type=”checkbox” id=”chk3″ name=”chk[]” value=”3″/> <label for=”chk3″>選択肢3</label><br />

上記にすることによって、Array状態で結果が取得出来る

※当たり前の内容を書いているけど、いつもうっかり[]を忘れちゃう
※検証方法
var_dump($this->input->post(‘chk’));  → formヘルパをロードする必要有り
var_dump($_POST[‘chk’]);
を利用!!


You may also like...