【发布时间】:2013-06-06 22:07:18
【问题描述】:
您好,我有一个可以从数据库中删除一行的有效链接。
<a href="?action=delete&id=<? echo $id ?>" onclick="return confirm('Are you sure you want to delete?')"><strong>Delete this Case</strong></a></td>
<?php
if($_POST['action']=="delete")
{
$id = $_POST['id'];
mysql_query("DELETE FROM rmstable2 WHERE id= '$id'");
echo("> Case # $id has been deleted as requested. To see your changes please click <a href='/martinupdate.php?id=$id'>here</a></b><br>");
}
?>
我想要做的不是有一个链接,而是我想要一个按钮,当按下它时会显示一个确认,然后如果为真则删除该行。
我不希望意外删除。
<form>
<input type="button" value="Delete this Case" onclick="return confirm('Are you sure you want to delete?')";
<a href="?action=delete&id=<? echo $id ?>">
</form>
【问题讨论】:
-
不要用
GET删除东西!所发生的一切就是一台机器会出现并跟踪所有链接并从您的数据库中删除所有内容! -
这是一个管理页面,它是一个原型,所以我不太担心,更重要的是让它工作,然后将其显示为一个原型,然后使用另一种语言重建。跨度>
-
你听说过 csrf 吗?这可能容易受到 csrf 的影响
-
@Alexandra 很高兴知道,但尽管如此,其他人可能会看到这个堆栈溢出帖子并在生产环境中复制您。
-
@messifan 你是对的,有什么更好的选择?