Welcome!

By registering with us, you'll be able to discuss, share and private message with other members of our community.

SignUp Now!

Вводится любой пароль, если даже он неправильный

Фев
5
1
Пользователь
Всем привет! Помогите разобраться с системой входа.

любой введенный пароль пускает на сервер, даже если он неправильный.

Вот код проверки пароля:
Pawn:
if(dialogid == DIALOG_LOGIN)
{
    if(!response) return Kick(playerid);

    new db_pass[65];
    cache_get_value_name(0, "password", db_pass);

    printf("[DEBUG] Введенный пароль: '%s'", inputtext);
    printf("[DEBUG] Пароль из БД: '%s'", db_pass);
    printf("[DEBUG] Результат strcmp: %d", strcmp(inputtext, db_pass));

    if(strcmp(inputtext, db_pass) == 0)
    {
        cache_get_value_name_int(0, "id", PlayerInfo[playerid][pID]);
        cache_get_value_name_int(0, "money", PlayerInfo[playerid][pMoney]);
        cache_get_value_name_int(0, "admin", PlayerInfo[playerid][pAdmin]);
        cache_get_value_name_int(0, "level", PlayerInfo[playerid][pLevel]);
       
        PlayerInfo[playerid][pLogged] = true;
        SendClientMessage(playerid, -1, "Успешный вход!");
    }
    else
    {
        ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Ошибка", "Неверный пароль!", "Войти", "Выход");
    }
    return 1;
}

Вот что пишут логи при входе:
[DEBUG] Введенный пароль: 'asasas'
[DEBUG] Пароль из БД: 'пароль из бд'
[DEBUG] Результат strcmp: 0
(в строке "Пароль из бд" в логах написан мой пароль из бд, я просто его не вписал его сюда)


Версия MySQL плагина: R41-4
Использую cache_get_value_name для получения пароля.

Почему strcmp возвращает 0 при разных паролях? Помогите, уже голова кипит.
 
Последнее редактирование модератором:
Сверху