从多个复选框中获取 $_POST

2022-08-30 06:36:42

我有1个表单,其中有多个复选框(每个复选框都有代码):

<input type="checkbox" name="check_list" value="<? echo $row['Report ID'] ?>">

其中 是数据库中的主键 -因此每个值都不同。$row['Report ID']

我如何知道哪些复选框已被选中?(也许是多个)

这是针对收件箱系统,我在下面有一个按钮,我希望(单击时)删除所有选中复选框的邮件(ids:)。$row['Report ID']


答案 1

将表单中的名称设置为,您将能够以数组()的形式访问所有复选框。check_list[]$_POST['check_list'][]

以下是一个要求的小示例:

<form action="test.php" method="post">
    <input type="checkbox" name="check_list[]" value="value 1">
    <input type="checkbox" name="check_list[]" value="value 2">
    <input type="checkbox" name="check_list[]" value="value 3">
    <input type="checkbox" name="check_list[]" value="value 4">
    <input type="checkbox" name="check_list[]" value="value 5">
    <input type="submit" />
</form>
<?php
if(!empty($_POST['check_list'])) {
    foreach($_POST['check_list'] as $check) {
            echo $check; //echoes the value set in the HTML form for each checked checkbox.
                         //so, if I were to check 1, 3, and 5 it would echo value 1, value 3, value 5.
                         //in your case, it would echo whatever $row['Report ID'] is equivalent to.
    }
}
?>

答案 2

编辑为了反映@Marc在下面的评论中所说的内容。

您可以对所有发布的值执行循环。

网页:

<input type="checkbox" name="check_list[]" value="<?=$rowid?>" />
<input type="checkbox" name="check_list[]" value="<?=$rowid?>" />
<input type="checkbox" name="check_list[]" value="<?=$rowid?>" />

菲律宾比索:

foreach($_POST['check_list'] as $item){
  // query to delete where item = $item
}

推荐