具有多个条件的PHP If / else / elseif

时间:2018-10-24 21:29:19

标签: php

请注意,已经多次问过类似的问题。

****不过,就我的搜索而言,还不是这样! ****

目标:

我需要有关如何构建显示带有用户设置页面的脚本的帮助。它应基于帐户级别,以及user_id是否与网址中的“ id”变量匹配。因此,基本上来说,无论user_id是否与网址中的“ id”匹配,管理员都应该始终能够查看用户设置。

问题:

我无法使其很好地与两个变量(URL中的用户状态='id',如果用户是admin?然后始终显示)一起工作,因为我不想重复“多汁”的东西在两个地方。

我的当前状态:

我在想这样的事情:

#DB:USERS
user_id   user_name   user_level ....
1         ADAM        3 (admin)
2         BRYAN       1 (suspended)
3         CODY        2 (user)
4         DAVID       3 (admin)

代码:

<?php
  // Get the logged in user data..
    $sql = "SELECT * FROM users where user_name = '".$_SESSION['username']."'";
    $user_level = $row["user_level"];

  $query... (SELECT * #DB:USERS);..
    $url_id = $_GET['id'];
    $user_id = $row['user_id'];

  if ($url_id == $user_id) {
    #Show all the juicy user setting stuff#
  } else {
    echo 'ACCESS DENIED';
  }
?>

到目前为止很好,但是如果用户状态等于3(管理员),那么如何添加表示步骤的内容呢。无论如何请显示多汁的东西?

谢谢!

1 个答案:

答案 0 :(得分:4)

如果我理解您的问题,除了测试用户ID,使用或条件外,还需要测试用户是否为admin:

// not sure of variable name for userlevel
if ($url_id == $user_id || $_SESSION['userlevel'] == 3) {
    #Show all the juicy user setting stuff#
} else {
    echo 'ACCESS DENIED';
}