无法从多个复选框分配POST数据


Unable to assign POST data from multiple check boxes

我是PHP和MySQL的新手,所以请忽略我编码的糟糕做法:)

好的,这是一个场景:

我有一个页面,checkin.php,它有两种形式;表单1:接受一些输入并显示数据库中的数据以及多个复选框。表单2:如果在上面找到任何数据,它将动态生成。

这是代码:

//Echoing out the query results
              echo "<form method='POST' action='checkin.php'>";
              echo "<tbody>";

              foreach ($checkin_status as $row) {
                echo "$rowStart";
                  echo "$row[book_id]";
                echo "$insertColumn";
                  echo "$row[branch_id]";
                echo "$insertColumn";
                  echo "$row[card_no]";
                echo "$insertColumn";
                  echo "$row[fname]" . " " . "$row[lname]";
                echo "$insertColumn";
                  echo "$row[date_out]";
                echo "$insertColumn";
                  echo "$row[due_date]"; 
                echo "$insertColumn";
                  //Checkbox creation
                  $checkin_recall_value = "$row[book_id]" . " " . "$row[branch_id]" . " " . "$row[card_no]";
                  echo "<div style='text-align: center;'><input type='checkbox' name='checkin' value='$checkin_recall_value'></div>";
                echo "$rowEnd";
              }
              echo "</tbody>";
              //Checkin button in foot
              echo "<tfoot>"; 
              echo "<td colspan='7' style='text-align: center; padding-right: 20px;'><input id='checkin_button' type='submit' value='Check In' title='Click to check in!'></td>";
              echo "</tfoot>";
              echo "</form>";

该表单是在返回的元组旁边生成复选框的。

现在,当我选择一些复选框并尝试显示时,它不会。。。

这是代码:

if(!empty($_POST['checkin'])) {
      //Retrieving the recall variables as an array from POST and assigning to $main_array
      $main_array = array();
      //echo "I am here";
        if(is_array($_POST['checkin'])) {
          foreach($_POST['checkin'] as $value)
          {
            $sub_array = explode(" ", $value);
            array_push($main_array, $sub_array);
          }
        }
        print_r($main_array);
}

它返回一个空数组。。。请帮我解决这个问题。

如果想要多个具有相同名称的html元素,则必须将其定义为数组,并添加[]:

<input type='checkbox' name='checkin[]' value='$checkin_recall_value'>