尝试设置全局“$ ADMIN”变量以允许或拒绝访问我的网站的管理区域

时间:2013-06-08 12:08:58

标签: php session admin

我使用的头文件包含以下代码:

<?php
    $ADMIN = False;
   if(session_id() == '') {
   // session has NOT been started
     session_start();

   }
   else
    {
         // session has been started
      }
  ?>

我必须检查管理变量状态的代码是:

    while ($row2 = mysql_fetch_array($account_type)){
    if($row2['account_type'] == 'A'){
        $ADMIN = 'true';}
        else{$ADMIN = 'false';}

每当我尝试访问该网站的页面时,我都会收到错误:

Parse error: syntax error, unexpected '$ADMIN' (T_VARIABLE)

1 个答案:

答案 0 :(得分:1)

编辑以为此定义新的解决方案......

如果您需要访问任何地方,请尝试创建一个具有静态状态定义的管理员助手类。

// Make sure to require this everywhere in your application
class Admin {
    private static $_is_admin = false;

    public static setAdminState($is_admin) {
        // Always store a boolean
        self::$_is_admin = $is_admin ? true : false;
    }

    public static isAdmin() {
        return self::$_is_admin;
    }
}

// Set your status like this
if ($row2['account_type'] == 'A') {
    Admin::setAdminState(true);
} else {
    Admin::setAdminState(false);
}

然后,您可以在任何地方(甚至在函数和类的范围内)访问它,如下所示:

if (Admin::isAdmin()) {
    // something
}