选择多个复选框时的PHP操作

时间:2016-08-30 14:54:44

标签: php if-statement checkbox

我有一个POST表单,其操作在同一页面上。表单有很多复选框,当用户检查了多个复选框时,我想运行一些PHP行(PHP应该在提交表单后运行)。

所以基本上我需要在PHP中关注:

如果选中#FormXY>的复选框1
......做点什么...... else(表示0或1检查checbox)
......做别的事情

提前致谢, 汤姆

2 个答案:

答案 0 :(得分:1)

复选框只有在选中后才会提交给POST。所以,最简单的方法:

<?php

  $checks = 0;

  if ( isset($_POST['checkbox_1']) ) $checks++;
  if ( isset($_POST['checkbox_2']) ) $checks++;
  if ( isset($_POST['checkbox_3']) ) $checks++;
  // ... for every checkbox name ...

  if ($checks > 1)
  {
     // Do something
  }

  else
  {
     // Do something else
  }

?>

如果复选框名称是增量的,您可以使用循环播放,如下所示:

<?php

  $checks = 0;

  for ($i = 1; $i <= 3; $i++)
  {
     if ( isset($_POST["checkbox_{$i}"]) ) $checks++;
  }

  if ($checks > 1)
  {
     // Do something
  }

  else
  {
     // Do something else
  }

?>

答案 1 :(得分:0)

$chkcount = 0;
  if (isset($_POST['check1'])) && ($_POST['check1']){ ++$chkcount;}
  if (isset($_POST['check2'])) && ($_POST['check2']){ ++$chkcount;}
....
  if (isset($_POST['check9'])) && ($_POST['check9']){ ++$chkcount;}
if ($chkcount > 1){ 
    // multiple checkboxes checked
   } else {
  // one or zero checked
 }