2011-05-06 44 views
0

我在我的网站上有一个编辑按钮,用户可以编辑他们写的评论。它只出现在登录用户通过执行此项检查完成的帖子上。检查多个用户名以显示编辑权

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

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

在此先感谢!

+0

您能否给我们提供更多信息?例如,你如何知道管理员是谁? – Ikke 2011-05-06 09:50:43

+0

'if(($ rows ['a_name'] === $ _ SESSION ['myusername'])OR($ myusername === $ _ SESSION ['admin']))'似乎并不奏效。相反,它允许所有用户编辑权限 – Mel 2011-05-06 10:18:21

回答

0

加入if声明或条件来检查当前用户是否为admin。

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

你应该确保每一个登录检查和用户权限被传递到一个变量,例如:

$_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 }