用户面板上的删除按钮
问题描述:
我一直很好奇有多少网站在其用户面板上有一个delete
按钮。 例如,如果用户可以提交帖子,并且这必须在他的用户控制面板上可用以删除它,如果他想要如何编码此按钮没有任何框架在PHP中? 我有什么用隐伏值现在不其creatre一种形式,你可以看到一块下面的代码:用户面板上的删除按钮
<?php foreach ($results as $result): ?>
<tr>
<td> <?php echo $result['id'] ?> </td>
<td> <?php echo $result['message'] ?> </td>
<td> <?php echo $result['name'] ?> </td>
<td>
<form method="POST" action="">
<input type="checkbox"
name="delete_action"
value="<?= $result['id'] ?>"
style="display:none; visibility:hidden;"
checked>
<input class="" type="submit" value="Delete">
</form>
</td>
</tr>
时间PHP动作:
if (isset($_POST['delete_action'])) {
$get_id_to_delete = $_POST['delete_action'];
$delete_action = $pdo_testimonials->prepare("DELETE FROM testimonials WHERE id = :id");
$delete_action->bindParam(':id', $get_id_to_delete);
$delete_action->execute();
}
所以,正如你所看到的,methond是如此不安全,容易搞砸。不过,我只用它只有我有权访问的控制面板。我知道我绝不应该使用类似的方式在生产网站上添加删除按钮。 有没有更好,更安全和可靠的方法来做到这一点?
答
只要在当前用户可以删除的内容中显示简单链接(GET)即可,只要您再次在PHP中进行检查即可。所以:
- 检查当前用户是否可以删除元素。
- 如果是这样,显示(图片)链接到例如/delete.php?id=2。
- 在页面delete.php检查当前用户可以用ID删除元素= 2
- 如果是这样,删除元素并取回网页。否则显示警告。
它也可以用AJAX来完成,使用相同的步骤。