从同一个类中的函数调用PHP类中的函数

Jos*_*ara 3 php class

由于我无法知道如何调用与另一个函数在同一类中的函数,因此下面的代码将无法运行.我已经尝试过使用$this但它给了我一个PHP错误Using $this when not in object context...Line 25.我不知道如何解决这个问题,我希望别人可以给我一些关于该怎么做的提示.我的代码在下面,谢谢:)

class SESSION {
    function start() {
        session_start();
    }
    function check() {
        if ($_SESSION["username"]) {
            return $_SESSION["username"];
        } else {
            return "nli"; //Not logged in :(
        }
    }
    function set_session($username) {
        $_SESSION["username"] = $username;
    }
    function login($username, $password) {
        $database = DB::connect();
        $passwordsha = sha1($password);
        $query = "";
        $res = $database->query($query);
        $num = $res->num_rows;
        if ($num == 0) {
            header("Location: login.php?e=1");
        } elseif ($num == 1) {
            $this->set_session($username);
            header("Location: admin.php");
        } else {
            header("Location: login.php?e=2");
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

Mik*_*ell 9

不,我不是在创造这个对象

这就是调用$this->set_session($username);失败的原因,如果你想遵循相同的代码模式,你可以这样做:

if ($num == 0) {
    header("Location: login.php?e=1");
} elseif ($num == 1) {
    self::set_session($username);
    header("Location: admin.php");
}
Run Code Online (Sandbox Code Playgroud)