尝试为 myBB 论坛创建登录脚本



我试图创建一个登录脚本来连接我的myBB论坛数据库,并回显真或假用户名和密码是否正确,但我不断收到此错误:

致命错误:在第 76 行的/home2/tronic/public_html/forum/inc/tronic_login.php 中的非对象上调用成员函数 escape_string

function validate_password_from_username()
{
        $username = $_GET['username'];
        $password = $_GET['password'];
        global $db, $mybb;
        $username = $db->escape_string(my_strtolower($username));
        switch($mybb->settings['username_method'])
        {
                case 0:
                        $query = $db->simple_select("users", "uid,username,password,salt,loginkey,coppauser,usergroup", "LOWER(username)='".$username."'", array('limit' => 1));
                        break;
                case 1:
                        $query = $db->simple_select("users", "uid,username,password,salt,loginkey,coppauser,usergroup", "LOWER(email)='".$username."'", array('limit' => 1));
                        break;
                case 2:
                        $query = $db->simple_select("users", "uid,username,password,salt,loginkey,coppauser,usergroup", "LOWER(username)='".$username."' OR LOWER(email)='".$username."'", array('limit' => 1));
                        break;
                default:
                        $query = $db->simple_select("users", "uid,username,password,salt,loginkey,coppauser,usergroup", "LOWER(username)='".$username."'", array('limit' => 1));
                        break;
        }
        $user = $db->fetch_array($query);
        if(!$user['uid'])
        {
                echo("false");
        }
        else
        {
                echo("true");
        }
}

http://pastebin.com/KU130cZE

在第 8 行中,您调用$db->escape_string(my_strtolower($username)); 。问题是:$db尚未定义,或者不是对象。

我不能告诉你它是什么,因为它是一个全局变量(坏事,应该避免那些!),所以我无法说出它在哪里设置以及它有什么值 - 但它显然不是一个对象,所以我最好的选择是它要么是未设置/null,要么是false因为某些应该设置它的函数出错并返回false

最新更新