#meow 64 Опубликовано 1 февраля, 2019 Доброго времени суток пользователи портала, я добавил смену пароля, когда я меняю пароль в БД записывается число "49", но не пароль [spoiler=!] case DLG_NEWPASS1: { { if(!strlen(inputtext)) SPD(playerid, DLG_NEWPASS1, DIALOG_STYLE_INPUT, "{0099FF}Смена пароля", "{FFFFFF}Введите Ваш текущий пароль", "Далее", "Закрыть"); if( !strcmp(player_info[playerid][PASSWORD], inputtext)) { SPD(playerid, DLG_NEWPASS2, DIALOG_STYLE_INPUT, "{0099FF}Смена пароля", "{FFFFFF}Введите новый пароль", "Далее", "Закрыть"); } else { SCM(playerid, C_GOLD, "[Подсказка]: {FFFFFF}Вы ввели неверный пароль!"); return SPD(playerid, DLG_NEWPASS1, DIALOG_STYLE_INPUT, "{0099FF}Смена пароля", "{FFFFFF}Введите Ваш текущий пароль", "Далее", "Закрыть"); } } } case DLG_NEWPASS2: { if(!strlen(inputtext)) return SPD(playerid, DLG_NEWPASS2, DIALOG_STYLE_INPUT, "{0099FF}Смена пароля", "{FFFFFF}Введите новый пароль", "Далее", "Закрыть"); if(!(6 <= strlen(inputtext) <= 32)) { SPD(playerid, DLG_NEWPASS2, DIALOG_STYLE_INPUT, "{0099FF}Смена пароля", "{FFFFFF}Введите новый пароль", "Далее", "Закрыть"); return SCM(playerid, C_GOLD, "[Подсказка]: {FFFFFF}Пароль может содержать от 6-ти до 32-ух символов любого регистра!"); } new regex:rg_passcheck = regex_new("^[a-zA-Z0-9]{1,}$"); if(regex_check(inputtext, rg_passcheck)) { strmid(player_info[playerid][PASSWORD], inputtext, 0, strlen(inputtext), 32); new string[49+(-2+32)]; format(string, sizeof(string), "[Подсказка]: {FFFFFF}Ваш новый пароль: {0099FF}%s", inputtext); SCM(playerid, C_GOLD, string); SCM(playerid, C_GOLD, "[Подсказка]: {FFFFFF}Сделайте скриншот(F8) или запишите новый пароль!"); static const fmt_query[] = "UPDATE `users` SET `password` = '%d' WHERE `id` = '%d'"; new query[sizeof(fmt_query)+(-2+32)+(-2+8)]; format(query, sizeof(query), fmt_query, player_info[playerid][PASSWORD], player_info[playerid][ID]); mysql_query(dbHandle, query, false); } else { SPD(playerid, DLG_NEWPASS2, DIALOG_STYLE_INPUT, "{0099FF}Смена пароля", "{FFFFFF}Введите новый пароль", "Далее", "Закрыть"); regex_delete(rg_passcheck); return SCM(playerid, C_GOLD, "[Подсказка]: {FFFFFF}Пароль может состоять только из латинских символов и чисел!"); } } Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
16Shadows 101 Опубликовано 1 февраля, 2019 Вы тут пароль вставляете как число, а не как строку: "UPDATE `users` SET `password` = '%d' WHERE `id` = '%d'" 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты