0

希望你们能帮助我,因为我真的被这个困住了。

我正在制作 CMS 的一部分,用户可以在其中查看、上传和删除存储在目录中的图像。但是当用户单击删除时,它只是删除了目录中的最后一个图像。当用户单击删除时,它似乎没有获取图像的名称。

这是我到目前为止的代码:

if (isset($_POST['deletebutton'])){
$link = "../../images/gallery/".$_POST['id'];
unlink($link);
}

if ($handle = opendir('../../images/gallery')) {
    while (false !== ($entry = readdir($handle))) {
        if ($entry != "." && $entry != "..") {
            echo "<div class='photobox'><img src='../../images/gallery/".$entry."' class='img'><input type='hidden' value='".$entry."' name='id'><input type='submit' class='deletebutton' name='deletebutton' value='Delete'></div>";
        }
    }
    closedir($handle);
}
?>

提前致谢

4

1 回答 1

2

您可能需要将每组<input/>s 包装在单独的<form/>标签中。如果 PHP 看到多个具有相同名称的输入,它只取最后一个。例如...

<form method="get" action="#">
  <input type="hidden" name="foo" value="bar" />
  <input type="submit" />
  <input type="hidden" name="foo" value="baz" />
  <input type="submit" />
</form>

无论您单击哪个提交,浏览器都会将表单编码为?foo=bar&foo=baz,PHP 将按顺序读取并留给您$_REQUEST['foo'] == 'baz'

于 2013-10-24T16:01:39.010 回答