どちらがチェックされたかどうかを検出するのに苦労しています。
for ループでフォームに入力する場合は、値プロパティをデータ ホルダーとして使用してください。
<?php for($i=1;$i<6;$i++):?>
<input type="checkbox" name="active[]" value="<?php echo $i ?>"
<?endfor;?>
フォームを送信すると、チェックされたチェックボックスの注文番号が表示されます (この場合、3 番目と 4 番目のチェックボックスをチェックしました)。
array(1) {
["active"]=>
array(2) {
[0]=>
string(1) "3"
[1]=>
string(1) "4"
}
}
ループでフォーム データを処理している場合、たとえば post.php で、次のコードを使用して、関連する行が選択されているかどうかを検出します。
if(in_array($_POST['active'] ,$i))
$answer_result = true;
else
$answer_result = false;
テスト用の最終コード:
<?php if (isset($_POST) && !empty($_POST)):
echo '<pre>';
var_dump($_POST);
echo '</pre>';
endif;
?>
<form action="test.php" method="post">
<?php for($i=1;$i<6;$i++):?>
<input type="checkbox" name="active[]" value="<?php echo $i; ?>" />
<?php endfor;?>
<button type="submit">Submit</button>
</form>