0

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

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

其中显示了三个链接

Edit | Delete | Make Admin

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

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

这是设置

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

这是在行动:admin.php?action=deleteuser&username=bob

我把它隔开以供查看......

无论如何

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

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

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

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

这是我的检查管理员代码

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

1 回答 1

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

于 2013-10-19T23:17:24.320 回答