【问题标题】:If checkbox group isn't ticked error is returned如果未勾选复选框组,则返回错误
【发布时间】:2011-03-04 16:02:14
【问题描述】:

我有一个复选框组,当您勾选一个时它可以正常工作,但如果所有未勾选,它会返回错误。

代码如下:

foreach ($_SESSION['CheckboxGroup1'] as $val) {
$checkbox1results .= $val.",\n";
}

这是我返回的错误:

Warning: Invalid argument supplied for foreach() in 
/home/medicom/public_html/memberappform1.php on line 492

我不擅长 php,所以如果没有勾选任何内容,我需要一种方法在循环中不返回任何内容。

【问题讨论】:

    标签: php forms checkbox


    【解决方案1】:
    if( is_array($_SESSION['CheckboxGroup1']) ){
        foreach ($_SESSION['CheckboxGroup1'] as $val) {
            $checkbox1results .= $val.",\n";
        }
    }
    

    【讨论】:

      【解决方案2】:
      if(isset($_SESSION['CheckboxGroup1'])){     // add && is_array($_SESSION['CheckboxGroup1']) to check its an array or not
         foreach ($_SESSION['CheckboxGroup1'] as $val) {
           $checkbox1results .= $val.",\n";
         }
      }
      

      【讨论】:

        【解决方案3】:

        尝试 var_dump() 您的会话以查看其中的内容:) 很可能该值已设置但不是数组,因此您可以使用 is_array() 函数来检查您的值

        【讨论】:

          【解决方案4】:

          只需使用...

          if(isset($_SESSION['CheckboxGroup1'])){
             foreach ($_SESSION['CheckboxGroup1'] as $val) {
             $checkbox1results .= $val.",\n";
             }
          }
          

          【讨论】:

            【解决方案5】:

            您必须检查复选框是否已设置,因为空复选框不会发布值

            if(isset($_SESSION['CheckboxGroup1']) {
                foreach($_SESSION['CheckboxGroup1'] as $val) {
                  $checkbox1result .= $val.", \n";
                }
            }
            

            【讨论】:

              【解决方案6】:

              只用 if 语句验证?

              foreach ($_SESSION['CheckboxGroup1'] as $val) {
              if ($val !==""){
              $checkbox1results .= $val.",\n";
              } else {
              echo "Please tick an option";
              }
              

              【讨论】:

              • -1,考虑到它仍然会抛出错误并且 CheckboxGroup1 尚未设置/不是要循环的数组。所以他试图避免的错误仍然会出现。
              猜你喜欢
              • 1970-01-01
              • 2016-04-26
              • 2014-11-24
              • 1970-01-01
              • 1970-01-01
              • 2017-10-09
              • 2017-03-11
              • 2019-02-22
              • 1970-01-01
              相关资源
              最近更新 更多