【问题标题】:Figure out which checkboxes have been selected in a form in php找出在php中的表单中选择了哪些复选框
【发布时间】:2010-11-20 02:31:19
【问题描述】:

我有一个带有多个复选框的表单。当我将它提交到另一个 php 页面时,我想知道:如何在不对每个复选框名称调用 isset 的情况下判断哪些已被选中? (如果有办法)。如果我为每个复选框赋予相同的名称,则只返回最后一个选中的复选框。

谢谢,
迈克尔

【问题讨论】:

    标签: php html checkbox


    【解决方案1】:

    为同一组中的所有复选框使用数组名称,例如名称=“我的复选框[]”。 这样,您将获得一个包含 php 代码中选定复选框列表的数组

    【讨论】:

      【解决方案2】:

      PHP 的一个怪癖要求表单控件的名称以字符 [] 结尾,以便识别其中的多个。

      <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
         "http://www.w3.org/TR/html4/strict.dtd">
         <title>Demo</title>
      
      <form action="cb.php">
      <div>
          <input type="checkbox" name="animals[]" value="dog" id="dog"> 
          <label for="dog">dog</label>
      </div>
      <div>
          <input type="checkbox" name="animals[]" value="cat" id="cat"> 
          <label for="cat">cat</label>
      </div>
      <div>
          <input type="checkbox" name="animals[]" value="rabbit" id="rabbit"> 
          <label for="rabbit">rabbit</label>
      </div>
      <div>
          <input type="checkbox" name="animals[]" value="hampster" id="hampster"> 
          <label for="hampster">hampster</label>
      </div>
      <div><input type="submit"></div>
      </form>
      <?php
      if ($_GET['animals']) {
      ?>
      <ul>
      <?php
      foreach ($_GET['animals'] as $animal) {
      ?>
      <li><?php print htmlspecialchars($animal); ?></li>
      <?php
      }
      ?>
      </ul>
      <?php
      }
      ?>
      

      【讨论】:

        猜你喜欢
        • 2016-07-28
        • 2020-11-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-09-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多