【问题标题】:How To Select User Selected Checkbox If Several With Same Name php如果有多个同名php,如何选择用户选择的复选框
【发布时间】:2025-12-13 15:05:01
【问题描述】:

我想做到这一点,以便用户选择的选择框在我的表单中保持选中状态,封装验证稍后在我的表单中失败,表单的其余部分工作完美,但我似乎无法弄清楚如何在不更改所有名称的情况下为选择框执行此操作有人可以请帮助我创建了这个,它只包含我的表单复选框和我稍后将要执行的操作,这样你就可以看到我需要什么

    <form id="form1" name="form1" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
<div id="desert_l">
           <label for="hnumber"><div class="bookerror"></div>Desert Choice </label>
          </div>
<div id="desert_f">
  <table width="275">
              <tr>
                <td width="113">
                <label>
<input type="checkbox" name="desgroup[]" value="Vanila Cheesecake"<?php if (isset($dessgroup) && ($dessgroup == "Vanila Cheesecake"))
 {
    echo ' checked="checked""';
  }
 ?>  />

                  Vanilla Cheesecake</label></td>
                <td width="94"><input type="checkbox" name="desgroup[]" value="Carrot Cake"<?php if (isset($dessgroup) && ($dessgroup == "Carrot Cake"))
 {
    echo ' checked="checked""';
  }
 ?> />
Carrot Cake</td>
                <td width="52"><input type="checkbox" name="desgroup[]" value="Jelly"<?php if (isset($dessgroup) && ($dessgroup == "Jelly"))
 {
    echo ' checked="checked""';
  }
 ?> />
Jelly</td>
              </tr>
              <tr>
                <td><label>
                  <input type="checkbox" name="desgroup[]" value="Fruit Cheesecake"<?php if (isset($dessgroup) && ($dessgroup == "Fruit Cheesecake"))
 {
    echo ' checked="checked""';
  }
 ?> >
                  Fruit Cheesecake</label></td>
                <td><input type="checkbox" name="desgroup[]" value="Fruit Flan"<?php if (isset($dessgroup) && ($dessgroup == "Fruit Flan"))
 {
    echo ' checked="checked""';
  }
 ?> />
Fruit Flan</td>
                <td>&nbsp;</td>

              </tr>
              <tr>
                <td><label>
                  <input type="checkbox" name="desgroup[]" value="Fruit Platter"<?php if (isset($dessgroup) && ($dessgroup == "Fruit Platter"))
 {
    echo ' checked="checked""';
  }
 ?> />
Fruit Platter</label></td>
                <td><input type="checkbox" name="desgroup[]" value="Chocolate Cake"<?php if (isset($dessgroup) && ($dessgroup == "Chocolate Cake"))
 {
    echo ' checked="checked""';
  }
 ?>/>
Chocolate Cake</td>
           <td>&nbsp;</td>
              </tr>
  </table>
  <p>
    <input type="submit" name="submit" id="submit" value="Submit" />
    </p>
  <p><span class="bookerror">
<?php
$dessgroup = $_POST['desgroup'] ;
if (isset ($_POST['submit']))
{
  if (isset ($dessgroup)) 
  {
     echo "<h2>Desert Choice</h2>";

  // Show Deserts Selected
    for($i=0; $i < count($dessgroup); $i++)
    {
    echo $dessgroup[$i]."</br>";
    }}
   else 
   {
       echo "You Must Select At Least 1 Desert" ;
   }

}
    ?> 
  </span></p>
  <p>Please Choose The Number Specified In Your Menu Choice<br />
</p>
  </div>
  </form>

【问题讨论】:

  • 您可以使用sessions,然后使用条件语句并回显它。

标签: php html checkbox


【解决方案1】:

代替

<input type="checkbox" name="desgroup[]" value="Vanila Cheesecake"<?php if (isset($dessgroup) && ($dessgroup == "Vanila Cheesecake"))
 {
    echo ' checked="checked""';
  }
 ?>  />

试试

<input type="checkbox" name="desgroup[]" value="Vanila Cheesecake"<?php if (isset($_POST['desgroup']) && is_array($_POST['desgroup']) && in_array("Vanila Cheesecake", $_POST['desgroup']))
 {
    echo ' checked="checked""';
  }
 ?>  />

如果您因此使用数组,它将为您节省大量输入。

$arr = array('possible value 1', 'possible value 2');
foreach ($arr as $val) {
    ?>
    <input type="checkbox" name="desgroup[]" value="<?php echo $val; ?>"<?php if (isset($_POST['desgroup']) && is_array($_POST['desgroup']) && in_array($val, $_POST['desgroup']))
     {
        echo ' checked="checked""';
      }
     ?>  />
    <?php
}

【讨论】:

  • 谢谢我使用第二种方法完成它,然后使用它来回显输出 if (isset ($dessgroup)) { foreach ($dessgroup as $deserts) { echo $deserts, ', '; } }
【解决方案2】:

试试这个

<input type="checkbox" name="desgroup[]" value="Vanila Cheesecake" <?php echo ((isset($dessgroup) && ($dessgroup == "Vanila Cheesecake")))?'checked="checked"':''; ?> />

【讨论】:

    最近更新 更多