Php 我能';看不见';在';在url中

Php 我能';看不见';在';在url中,php,html,checkbox,Php,Html,Checkbox,我正在尝试获取已检查的元素,以便从数据库中删除它们 我使用了“get”方法,以便可以看到我正在选择的元素 []21 food []22 eggs []23 bread []24 bread 这是我在数据库中的数据,如果我正在选择它显示的食物 http://localhost/shopping/delete.php?21=&delete= (in url) 它应该是21='on',但它没有显示原因,如果我不能这样做,请告诉我如何获取它们以删除

我正在尝试获取已检查的元素,以便从数据库中删除它们

我使用了“get”方法,以便可以看到我正在选择的元素

 []21 food
 []22 eggs
 []23 bread
 []24 bread
    
这是我在数据库中的数据,如果我正在选择它显示的食物

  http://localhost/shopping/delete.php?21=&delete=     (in url) 
    
它应该是21='on',但它没有显示原因,如果我不能这样做,请告诉我如何获取它们以删除

        <?php require_once("dbconnect.php") ?>
        <?php
        db();
        global $link;
        $query="SELECT * FROM items";
        $result=mysqli_query($link,$query);
        ?>
          <form  action="delete.php" method="get">
            <?php
        while ($arr=mysqli_fetch_array($result)) {
          ?>
    
    
    
      <ul>
        <li> <input type="checkbox" name="<?php echo $arr['id'] ?>" value=""> <?php echo $arr['id'] ?> <?php echo $arr['itemname'] ?> </li>
      
      </ul>
      <?php
       }
       ?>
    
      <button type="submit" name="delete">delete</button>
      </form>

删除
事情是这样的:

http://example.com/path?foo=bar
                        ^^^ ^^^
                        
<input type="checkbox" name="foo" value="bar">
                             ^^^         ^^^
要测试给定密钥是否存在,可以执行以下操作:

var_dump(isset($_GET['21']), isset($_GET['not_exists']));

您的值“”为空。如果您希望所有复选框的值都处于启用状态,那么您应该使用value=“on”谢谢,这很有帮助。
$_GET = [
    21 => '',
];
var_dump(isset($_GET['21']), isset($_GET['not_exists']));
bool(true)
bool(false)