无法使用$ _GET方法制作删除按钮

时间:2012-12-24 16:21:46

标签: php html html-table http-get

我得到了第一个学习任务来编写脚本。任务如下:创建用于上传文件的webform,文件上传后,它们显示在html表的同一页面上。这是我的第一项任务,我的首要任务就是让它发挥作用。所以我创建了一个表单和函数来扫描文件的上传文件夹,然后将它们放在数组中。之后数组用于构建html表的cucle中。请帮我构建正确的删除按钮,因为我无法让它工作。我的代码在这里:

<?php
if ($_GET['action']=='delete' && isset($_GET['file'])) {
        unlink($dir.$filelist[$i]);
        echo "File ".$filelist[$i]. " has been removed";
}


//table with files
echo"<table border=1 cellpading=5 cellspasing=0>
<tr><th>#</th><th>Filename</th><th>Path</th><th>File extenstion</th><TH>File Size<th>Remove file?</th></tr>";
for ($i=0; $i <count($fileslist) ; $i++) {
        echo "<tr>";
        echo"<td>$i</td><td>". $fileslist[$i]."</td>";
        echo "<td><a href=".$dir.$fileslist[$i].">".$fileslist[$i]."</a></td>";
        echo "<td>".$ext=pathinfo(($dir.$fileslist[$i]), PATHINFO_EXTENSION)."</td>";
        echo "<td>".$size= filesize_get($dir.$fileslist[$i])."</td>";
        echo "<td> <a href=\"upload.php?action=delete&file=".$filelist[$i].">Delete </a></td>";
        echo "<tr>";
}
echo"</tabe>";

获取以下错误:

  

注意:未定义的索引:第32行的D:\ PHP(1)\ xampp \ htdocs \ upload.php中的操作

     

注意:未定义的变量:第47行的D:\ PHP(1)\ xampp \ htdocs \ upload.php中的文件列表

3 个答案:

答案 0 :(得分:1)

替换

echo "<td> <a href=\"upload.php?action=delete&file=".$filelist[$i].">Delete </a></td>";

通过

echo "<td> <a href=\"upload.php?action=delete&file=".$fileslist[$i].">Delete </a></td>";

你刚刚错过了文件列表中的s

答案 1 :(得分:1)

我认为你应该从字面上理解错误信息。您提供的代码示例中未定义变量$filelist

此外,您的第一个错误也被抛出,因为即使在未通过GET传递该参数的情况下,您也会尝试检查$_GET['action'] == 'deleted'。你应该在使用之前检查参数是否存在,比较如下:

if (isset($_GET['action']) && $_GET['action']=='delete' && isset($_GET['file'])) {

答案 2 :(得分:0)

1-当你还没有定义$ i时,你正在删除$ i项目

2-如上所述

为防止变量和函数名称出错,您可以使用支持代码完成的文本编辑器。例如,可以提供帮助的非常轻便的工具是Geany。即使在Linux和Windows上的大项目中,我仍然使用这个。它不会使用大量的RAM和CPU,也不会花时间打开。

在AND(&amp;&amp;)条件块中,条件从左到右读取,一旦某些内容不成立,块就会中断,因此您更可能希望先测试关键内容,这样就不会在街区进一步陷入困境。