2014-02-19 51 views
0

我試着去創建一個登錄腳本來與我的MyBB論壇的數據庫連接和呼應真或假的用戶名和密碼是否正確,但我不斷收到此錯誤登錄腳本:試圖創建的MyBB論壇

致命錯誤:調用一個成員函數escape_string()一個非對象在/home2/tronic/public_html/forum/inc/tronic_login.php上線76

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

+1

您的數據庫連接失敗。 – Daedalus

回答

0

在第8行,則打電話給$db->escape_string(my_strtolower($username));。問題是:$db尚未定義,或者不是對象。

我不能告訴你它是什麼,因爲它是一個全局變量(壞事,應該避免這些!),所以我不能告訴它在哪裏設置和它有什麼價值 - 但它顯然不是一個對象,所以我最好的選擇是它要麼未設置/ nullfalse,因爲某些函數應該設置它有錯誤並返回false