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];