我正在成为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);
}
?>
提前致谢
答案 0 :(得分:2)
您可能需要将每组<input/>
包装在单独的<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'