Session 管理员会话用户编辑帖子

Session 管理员会话用户编辑帖子,session,admin,Session,Admin,在数据库中,我有一个列acc\u type为int,如果$\u SESSION['accountpye']==1,然后允许该用户编辑其他用户的帖子,我将尝试对其进行编码 我应该使用And而不是&?“或者,| |” 示例代码: if(isset($_SESSION['username']) && ($_SESSION['username']==$dnn2['author'] || $_SESSION['accc_type']==1['username'])) { echo

在数据库中,我有一个列
acc\u type
int
,如果$\u SESSION['accountpye']==1,然后允许该用户编辑其他用户的帖子,我将尝试对其进行编码

我应该使用And而不是&?“或者,| |”

示例代码:

if(isset($_SESSION['username']) && ($_SESSION['username']==$dnn2['author'] || $_SESSION['accc_type']==1['username'])) {
    echo "<a href='edit.php'>Edit</a>";
}
if(isset($_SESSION['username'])&($_SESSION['username']==dnn2['author']|$_SESSION['accc_type']==1['username'])){
回声“;
}
如果您只是删除最后一个['username'],然后将会话用户名部分包装为条件的第一部分,这样acc_type one就不依赖于它,那么一切都应该正常

更新:

在login.php文件中找到此部分:

$req = mysql_query('select password,id from users where username="'.$username.'"');
$dn = mysql_fetch_array($req);
if($dn['password']==sha1($password) and mysql_num_rows($req)>0)
{
     $form = false;
     $_SESSION['username'] = $_POST['username'];
     $_SESSION['userid'] = $dn['id'];
您还需要选择acc_类型。假设它是用户表中的一个字段,修改查询以读取以下内容:

'select password,id, acc_type from users where username="'.$username.'"'
然后确保设置会话变量:

     $form = false;
     $_SESSION['username'] = $_POST['username'];
     $_SESSION['userid'] = $dn['id'];
     $_SESSION['acc_type'] = $dn['acc_type'];

当您测试此功能时,请确保您注销,然后再次登录bacak。

我认为这将解决您的问题:

if(isset($_SESSION['username']){

  if( ($_SESSION['username']==$dnn2['author']) || ($_SESSION['acc_type']==1)  ){
      echo "<a href='edit.php'>Edit</a>";
   }
if(isset($\u会话['username'])){
如果($_会话['username']==dnn2['author'])| |($_会话['acc_type']==1)){
回声“;
}

}

我以前尝试过该代码,但它不起作用,但是如果我这样做:$\u SESSION['username']==$admin它工作得很好,因为我有这个代码$admin=您是否没有设置$\u SESSION['acc\u type']?我们无法知道$admin是什么,因此验证$admin对您来说需要您使用更多详细信息更新您的问题。我的示例是合乎逻辑的,如果未知变量实际按预期设置,则会起作用。我的意思是,如果我这样做:$\u SESSION['username']==$admin,它工作正常,因为我有此代码$admin=“admin”,但这并没有帮助,因为它会检查会话用户是否为admin。您是否尝试过var\u dump($\u session)?如我所说,您是否确定设置了$\u session['acc\u type']并且是1?我不知道var\u dump,是的,我确定acc\u type是1,0是成员,如果它是1 admin,如果它是2 mod
     $form = false;
     $_SESSION['username'] = $_POST['username'];
     $_SESSION['userid'] = $dn['id'];
     $_SESSION['acc_type'] = $dn['acc_type'];
if(isset($_SESSION['username']){

  if( ($_SESSION['username']==$dnn2['author']) || ($_SESSION['acc_type']==1)  ){
      echo "<a href='edit.php'>Edit</a>";
   }