使用/ PHP MYSQL删除帖子

时间:2013-08-14 19:11:02

标签: php mysql sql-delete

基本上我通过表单将数据提交到表中,并希望特定用户能够删除他/她自己的帖子而没有其他人的帖子。此代码有效,但它允许您删除任何人的帖子。我如何将其限制为仅限于您自己的?

Delete.php

    <?php session_start();
include('db.php');
if(isset($_SESSION['username']))
{
$id=$_GET['id'];
$username=$_GET['username'];
$query1=mysql_query("delete FROM search WHERE id='$id'");
$query2=mysql_query("delete FROM users WHERE username='$username'");
if($query1 || $query2)
{
header('location:search.php');
}
else { echo "You did not make this post";
}
}
?>

1 个答案:

答案 0 :(得分:1)

在$ _SESSION中也保存登录的用户ID,例如$ _SESSION [“userid”]。所以你可以使用像

这样的WHERE

我不确定这些mysql表是什么。但是例如。

mysql_query("DELETE FROM `post` WHERE `id`='$id' and `userid`='" . $_SESSION["userid"] . "';");

当然,在用户添加新帖子的页面中,代码必须将他的“作者ID”保存在mysql表中。

编辑:

要打印用户没有auth删除消息,请使用if

if(mysql_affected_rows() == 0) echo "You are not the author of this post";

Addon:安全性改进,始终设置来自“不受信任的来源”的整数值($ _GET,$ _ POST,外部文件),如

$id = intval($_GET["id"]);