如何同时获取多个选中的复选框ID和VALUE

时间:2017-12-19 13:37:33

标签: php html post checkbox

如何通过POST同时获取多个选中的复选框ID和VALUE?代码bellow显示html发送数据。

<form action="" method="post">
  first<input type="checkbox" name="first[]" id="first'<?php echo $data; ?>'" value="first" />
  second<input type="checkbox" name="first[]" id="second'<?php echo $data2; ?>'" value="second" />
  third<input type="checkbox" name="first[]" id="third'<?php echo $data3; ?>'" value="third" />
  <input type="submit" value="submit">
</form>

通过邮寄发送后,我获得了值,但ID丢失了。

foreach($_POST['first'] as $value){
  echo 'VALUE: '.$value.'<br/>';
}

我如何发送ID和VALUE并通过邮件获取它们而不会爆炸?我肯定可以将它们分开,但应该有另一种方式。

2 个答案:

答案 0 :(得分:4)

您可以执行以下操作:

<form action="" method="post">
  first<input type="checkbox" name="first[0][value]" id="first[]" value="first" />
  <input type="hidden" name="first[0][id]" value="first[]">
  second<input type="checkbox" name="first[1][value]" id="second[]" value="second" />
  <input type="hidden" name="first[1][id]" value="second[]">
  third<input type="checkbox" name="first[2][value]" id="third[]" value="third" />
  <input type="hidden" name="first[2][id]" value="third[]">
  <input type="submit" value="submit">
</form>

在后端:

foreach($_POST['first'] as $value){
  echo 'VALUE: '.$value['value'].'<br/>';
  echo 'ID: '.$value['id'].'<br/>';
}

答案 1 :(得分:1)

如果您想从输入中获取id值,请在名称数组中使用id作为键

<input type="checkbox" name="first[first]" .../>
<input type="checkbox" name="first[second]" .../>
<input type="checkbox" name="first[third]" .../>

<input type="checkbox" name="first[1]" .../>
<input type="checkbox" name="first[2]" .../>
<input type="checkbox" name="first[3]" .../>

然后当您循环显示已发布的输入时,请在key

中加入key=>value
foreach($_POST['first'] as $id => $value){ 
    echo 'ID: '.$id.' => VALUE: '.$value.'<br/>';
}