Php 无法获取POST变量的计数

Php 无法获取POST变量的计数,php,arrays,count,isset,Php,Arrays,Count,Isset,我想在数据库中插入选定的行,但无法获取复选框的计数。然而,在我的一个表格中,我正在更新记录,我可以得到计数,但在这里我不能。代码如下 <tr class="odd gradeX"> <td> <input type="checkbox" class="checkboxes" value="<?php echo $row['student_id']; ?>" name="ids[]" /> </td>

我想在数据库中插入选定的行,但无法获取复选框的计数。然而,在我的一个表格中,我正在更新记录,我可以得到计数,但在这里我不能。代码如下

<tr class="odd gradeX">
    <td>
        <input type="checkbox" class="checkboxes" value="<?php echo $row['student_id']; ?>" name="ids[]" />
    </td>
    <td>
        <?php echo $row['first_name']." ".$row['last_name'];?>
    </td>
    <td>
        <?php echo $row['father_mobile'];?>
    </td>
    <td class="hidden-480">
        <a href="mailto:<?php echo $row['email'];?>">
            <?php echo $row['email'];?>
        </a>
    </td>
    <td class="hidden-480">
        <?php echo $row['address'];?>
    </td>
    <td class="center hidden-480">
        <?php echo $row1['track_name'];?>
    </td>
    <td>
        <?php echo $row2['level_name'];?>
        </span>
    </td>
</tr>



<?php     

if(isset($_POST['move']))
{
    echo "count is" . count($_POST["ids"]);
    for($i=0; $i<count($_POST["ids"]); $i++){
        echo $sql = "inset into tbl_student_batches set  bacth_id='".$_POST['batch_id']."',student_id='".$_POST['ids']."'";
        if (mysql_query($sql)) {
            $msg = "Selected students moved to next batch successfully";
            header("location:convert_level?msg=$msg");
        }else{
            $errmsg = ("Error while moving.". mysql_error()); 
        }
    }  
}


你可以这样试试

      $studentIds = explode(' ', $_POST['ids']);
      $totalId= count($studentIds);

在post请求中,您是否确实在服务器上获得
id
?您的
移动
设置是否使您的条件为真?添加
print\r($\u POST)
在您的
if(isset($\u POST['move'])
前面,检查您在请求中得到了什么,以及id是否存在以及它包含什么。此外,您的代码易受SQL注入攻击。您在哪里设置
POST['move']
?您似乎没有显示所有相关的代码,您似乎没有一个
对象,您使用的是一个不推荐的MySQL,应该养成使用MySQLi或PDO的习惯(请参见)不,我没有ID。实际上,ID正在表中的for循环中打印,如代码所示。您可以发布整个表单吗?它是动态生成的吗?还是有固定数量的复选框?你定了方法吗?很多关于表单的问题。动态生成的复选框