PHP:不返回所选复选框

PHP:不返回所选复选框,php,forms,file,checkbox,Php,Forms,File,Checkbox,我是新的php代码,这是我的第一个。 在这里,我列出目录的内容,并用复选框列出它。 我的最终目标是能够做出一个或多个选择并删除它们。 但是我无法检索选择框的值。 我的返回值为空。(没有错误消息)。 拜托,你能给我指一下正确的路吗? 谢谢 My index.php <head> <!-- JS --> <script type="text/javascript" src="./js.js"><

我是新的php代码,这是我的第一个。 在这里,我列出目录的内容,并用复选框列出它。 我的最终目标是能够做出一个或多个选择并删除它们。 但是我无法检索选择框的值。 我的返回值为空。(没有错误消息)。 拜托,你能给我指一下正确的路吗? 谢谢

My index.php

<head>
    <!-- JS -->
        <script type="text/javascript" src="./js.js"></script>
    <!-- CSS -->
        <link rel="stylesheet" type="text/css" href="./css/css.css" />
</head>

<form>

    <fieldset>
    
        <br><legend>select files to delete :</legend> 

        <form method="POST" action="index.php">
                
            <?php
                
                
                
                    $directory = "./tmp";
                                                
                    $list = array_slice(scandir ($directory), 2);
                
            
                    
                    foreach ($list as $file) {
                    
                        $value= "./tmp/$file";
                        
                        if (is_file ($value)){ // files only
                            
                            echo "
                            <input type='checkbox' name='chk[]' value=$value>$file<br>
                            ";

                        }
                    }   

            ?>
            
            
        <br><input type="submit" name="button" value="DELETE FILES" />
                
        </form>

<!--  return selected checkboxes -->

        <h1>$_POST</h1>

        <?php
         if(isset($_POST["button"]))
         {
            if (isset($_POST['chk'])){
                var_dump($_POST);
            }
        }
        ?>
    
    </fieldset>
    

</form>


选择要删除的文件:
试试这个。有两种形式 (此外,我已重新构造了您的代码)



选择要删除的文件:
如果在
输入上将
value=$value
更改为
value='$value'
,会发生什么情况?与value='$value'结果相同为什么要为嵌入两个表单?请检查
$list
中是否有数据,如果(是文件($value))
$value
是文件还是不是文件)Chilarai,这两种形式都适用于css,但这绝对不是最佳实践。谢谢你,你的解决方案奏效了。因此,@Claude yes中出现了错误。错误是由两个表单引起的。外部表单始终发送get请求,而内部post请求从未发送
<?php
if(isset($_POST["button"])){
    if (isset($_POST['chk'])){
        var_dump($_POST);
    }
}
?>
<fieldset>
    <br><legend>select files to delete :</legend> 
    <form method="POST" action="">        
        <?php
            $directory = "./tmp";                          
            $list = array_slice(scandir ($directory), 2);
            foreach ($list as $file) {      
                $value= "./tmp/$file";
                
                if (is_file ($value)){ // files only
                    
                    echo "
                    <input type='checkbox' name='chk[]' value='$value'>$file<br>
                    ";

                }
            }   
        ?> 
        <br><input type="submit" name="button" value="DELETE FILES" />         
    </form>
</fieldset>