0

このスクリプトを使用して mybb パスワードを確認しましたが、「 NO 」というエラーが表示されます。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";


 ?>
4

2 に答える 2

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";
于 2013-05-13T09:52:51.393 に答える