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

标签 php mysql sql-delete

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

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

显示三个链接

Edit | Delete | Make Admin

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

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

这是设置

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

这是在行动: admin.php?action=deleteuser&用户名=bob

为了便于查看,我将其隔开......

无论如何

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

有什么方法可以做到这一点吗?请大家帮忙。

此外,由于任何人都可以访问该页面,因此如果有人手动键入该链接,他们会删除它,我该如何确保其安全,不是吗?

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

这是我的检查管理代码

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

最佳答案

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中。

关于php - 通过抓取链接删除整个mysql行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19472069/

相关文章:

mysql - 获取不同表mysql中的重复行

mysql - 安全地杀死一个删除大号。 mysql中的记录

php - 通过 URL 显示 PHP 图像

php - 在循环中创建一个没有键的数组

php - Spotify 的 OAuth 无法使用 curl 获取刷新 token

MySQL 外键引用 WHERE 字段=值

php - mysql数据存储与php查询性能

mysql - 如何使这个 MySQL 函数不弄乱我的字符集?

java - Hibernate还是SQL进行删除操作?

php - 通过javascript将变量传递给PHP