检查多个用户名以显示编辑权限


check multiple usernames to display edit privilege

我的网站上有一个编辑按钮,用户可以编辑他们写的评论。通过执行此检查,只会出现在登录用户写的帖子上。

if($rows['name']===$_SESSION['myusername']

我想允许管理帐户也能够编辑任何帖子。如何将admin用户帐户添加到此?

提前感谢!

添加if语句或条件来检查当前用户是否为admin

if( $rows['name']===$_SESSION['myusername'] || $_SESSION['idAdmin'] ) {...}

您应该确保检查每次登录,并将用户权限传递给一个变量,例如:

$_user['loggedin'] = false;
if(isset($_SESSION['myusername']) && isset($_SESSION['mypassword'])) {
  $q = mysql_query("SELECT * FROM users WHERE username = '".mysql_real_escape_string($_SESSION['myusername'])."' AND password = '".mysql_real_escape_string($_SESSION['mypassword'])."'");
  if(mysql_num_rows($q) == 1) {
    $_user = mysql_fetch_assoc($q);
    $_user['loggedin'] = true;
  }
}

现在假设您的数据库中有一个字段'is_admin',您可以在检查中使用这段代码:

if($rows['name'] == $_SESSION['myusername'] OR ($_user['loggedin'] && $_user['is_admin'])) { // perform action }