if(dialogid == DIALOG_REGISTER) //Регистрация { if(response) { if(strlen(inputtext) == 0) { ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, "{ffd800}Регистрация", "{ffffff}Введите пароль", "Далее", ""); } else { new query[255], temp[100]; new PlayerName[MAX_PLAYER_NAME]; mysql_real_escape_string (inputtext, temp); format ( query, sizeof query, "INSERT INTO `users` (`login`, `password` ) VALUES ( '%s', '%s')", PlayerName[playerid], temp); mysql_function_query ( dbHandle, query, false, "", "" ) ; ShowPlayerDialog(playerid, DIALOG_LOGIN,DIALOG_STYLE_INPUT, "{ffd800}Авторизация", "введите пароль", "Далее", ""); } } else{} }
if(dialogid == DIALOG_LOGIN) //Авторизация { if(response) { if(strlen(inputtext) == 0) { ShowPlayerDialog(playerid, DIALOG_LOGIN,DIALOG_STYLE_INPUT, "{ffd800}Авторизация", "{ffffff}Окошко пустое, введите пароль", "Далее", ""); } else { new query[255], temp[128]; new PlayerName[MAX_PLAYER_NAME]; format(query, sizeof query, "SELECT * FROM `users` WHERE `login` = '%s' AND `password` = '%s' LIMIT 1", PlayerName[playerid], temp) ; mysql_real_escape_string(inputtext, temp); mysql_function_query(dbHandle, query, true, "PlayerLogin", "i", playerid); } } else{} }
forward PlayerLogin (playerid); public PlayerLogin (playerid) { new rows, fields, temp[255]; cache_get_data(rows,fields); if(rows) { ShowPlayerDialog(playerid, DIALOG_TEAM, DIALOG_STYLE_LIST, "{ffd800}Выбор команды", "Синие\nКрасные", "Далее", ""); } else { SendClientMessage(playerid, 0xff9900AA, "Неверный пароль"); ShowPlayerDialog(playerid, DIALOG_LOGIN,DIALOG_STYLE_INPUT, "{ffd800}Авторизация", "Введите пароль", "Далее", ""); } return 1; }
Это либо мой код, либо ты кодишь как я(даже название переменных).
|
new PlayerName[MAX_PLAYER_NAME]; - ты создаёшь, но никнейм-то пустой(GetPlayerName), в этом вся проблема.
|
public OnPlayerConnect(playerid) { GetPlayerName(playerid, PlayerName[playerid], MAX_PLAYER_NAME); //Ваш код return 1; } |
new query[255], temp[128];
new PlayerName[MAX_PLAYER_NAME];
format(query, sizeof query, "SELECT * FROM `users` WHERE `login` = '%s' AND `password` = '%s' LIMIT 1",
PlayerName[playerid], temp) ;
new query[128];
format(query, sizeof query, "SELECT * FROM `users` WHERE `login` = '%s' AND `password` = '%s' LIMIT 1",
PlayerName[playerid], inputtext) ;
new PlayerName[MAX_PLAYER_NAME];