問題
checkboxで最後の値しか受け取れない…。
解決策
checkboxでチェックした全ての値を受け取るには?
checkboxで最後の値しか受け取れない…。
それに対する対処法として、今回はcheckboxの値を配列化して受け取る方法をご紹介します。
checkboxのname属性の値に「[]」を付け足す。
checkboxのname属性の値に「[]」を付け足すことで、値を配列として受け取ることができます。
文字列がなければFALSEを返してくれます。
修正前
checkboxのname属性に「item」を設定しています。
<form method="post" action="">
<input type="checkbox" name="item" value="check01" id="checkid01"> <label for="checkid01">チェック01</label><br>
<input type="checkbox" name="item" value="check02" id="checkid02"> <label for="checkid02">チェック02</label><br>
<input type="checkbox" name="item" value="check03" id="checkid03"> <label for="checkid03">チェック03</label>
</form>
修正後
checkboxのname属性「item」に「[]」を付け足して、「item[]」に修正しています。
<form method="post" action="">
<input type="checkbox" name="item[]" value="check01" id="checkid01"> <label for="checkid01">チェック01</label><br>
<input type="checkbox" name="item[]" value="check02" id="checkid02"> <label for="checkid02">チェック02</label><br>
<input type="checkbox" name="item[]" value="check03" id="checkid03"> <label for="checkid03">チェック03</label>
</form>
参考ページ
以下のサイトが、より詳しく解説してくれています。
【【PHP】チェックボックスの値を受け取る – Qiita】
https://qiita.com/4cres/items/26154314959dcccbfd34
【checkboxの値を複数postする方法 | SeekNext合同会社(シークネクスト)】
https://seeknext.co.jp/frontend/checkbox-post/
コメント