2013-05-13 60 views
0

我使用此腳本檢查mybb密碼,但出現此錯誤:「NO」。 我使用mybb密碼加密方法,但我不知道爲什麼這不起作用?檢查mybb中的用戶密碼

<?php 
error_reporting(-1); 
$MySQL_Host = "localhost"; 
$MySQL_User = "root"; 
$MySQL_Pass = ""; 
$MySQL_DB = "mybb"; 

$username = 'me'; 
$password = 'you'; 

mysql_connect("$MySQL_Host", "$MySQL_User", "$MySQL_Pass") or die(mysql_error()); 
echo "Connected to MySQL<br />"; 
mysql_select_db("$MySQL_DB") or die(mysql_error()); 

$result = mysql_query("SELECT uid, password, email FROM mybb_users WHERE username='".$username."' AND password='".md5(md5($salt).md5($password))."';"); 
if (!$result) { 
die('Invalid query: ' . mysql_error()); 
} 

if(md5(md5($salt).md5($password)) == $result[ 0 ][ 'password' ]) 
     { 
     echo "yes" ; 

//i need this option 
     return array('id' => $result[ 0 ][ 'uid' ], 
          'mail' => $result[ 0 ][ 'email' ], 
          'user' => $username 
         ); 
     } 
else 
echo "no"; 


?> 

回答

0

$result[ 0 ][ 'password' ]是空的,因爲你忘了取:

$result = mysql_query("SELECT uid, password, email FROM mybb_users WHERE username='".$username."' AND password='".md5(md5($salt).md5($password))."';"); 
if (!$result) { 
die('Invalid query: ' . mysql_error()); 
} 

$row = mysql_fetch_assoc($result); 

現在只檢查是否存在記錄:

if($row !== false) 
{ 
    echo "yes" ; 

    //i need this option 
    return array( 
     'id' => $row[ 'uid' ], 
     'mail' => $row[ 'email' ], 
     'user' => $username 
    ); 
} else 
    echo "no"; 
+0

沒有工作也有同樣的錯誤:不,我認爲它有問題關於mybb密碼加入 – user1973003 2013-05-13 10:16:55