通过抓取链接删除整个mysql行?

时间:2013-10-19 23:00:02

标签: php mysql sql-delete

我有一个用户列表,在同一页面上为管理员和用户显示了姓名和电子邮件....

如果管理员查看它,则显示一个名为“Action”的额外列

其中显示了三个链接

Edit | Delete | Make Admin

--------------------------

我有删除按钮从该表行中获取信息并将其移动到链接

这是设置

echo "
<td>
  <a href='admin.php?action=deleteuser&username={$row['username']}'>Delete</a>
</td>";

这里有效:     ?admin.php的动作= deleteuser&安培;用户名=摆锤

为了观看目的,我把它隔开了......

反正

我希望网站以某种方式从网址中获取信息,并以某种方式删除用户名等于“bob”或类似内容的行

有什么办法吗?请帮忙。

另外,如果任何人都可以访问该页面,我将如何使其安全,所以如果有人要手动输入该链接,他们会删除它们不是吗?

也许在链接运行之前检查用户是否是管理员

这是我的支票管理员代码

if (has_access($session_user_id, 1) === true) {
    echo 'The user is an admin!';
}

1 个答案:

答案 0 :(得分:0)

admin.php中有这样的内容吗?

function getLoginUserByCookie()
{
  return isset($_COOKIE["loginusername"]) ? $_COOKIE["loginusername"] : "";
}

if(getLoginUserByCookie() != "admin")
{
  header("Location: /login.php");
  exit;
}

try {
  $pdo = new PDO("mysql:host=localhost;dbname=mydatabase", "dbuser", "dbpass");
} catch (PDOException $e) {
  echo $e->getMessage();
  exit;
}

$strSQL = "DELETE FROM users WHERE (username=:username);";
$stmt = $pdo->prepare($strSQL);
$stmt->execute(array(
  ":username" => $_GET["username"]
));

/login.php是一项很重要的工作,您可能会找到一些检查登录的示例。并在cookie中保存loginusername。