kushichka
Умник
В общем сделал систему регистрации на MySQL R39-3. Вроде бы все работает, регистрация и авторизация, а потом спавн. Но при авторизации не сравнивает пароль с тем что в бд. То есть не важно какой пароль я введу, оно все равно считает его правильным. Пересмотрел много идентичных примеров и не могу понять в чем проблема. Хотел бы от когото пояснений где в моем коде должнапроисходить эта проверка.
PHP:
case 2://авторизация
{
if(!response) return SCM(playerid,COLOR_YELLOW,"Введите /q что бы выйти"), KickEx(playerid);
if(!strlen(inputtext))
{
new string[227];
format(string,sizeof(string),"{FFFFFF}Добро пожаловать на сервер {7FFFD4}%s\n{FFFFFF}Ваш аккаунт зарегистрирован на сервере!\n\nВаш игровой логин:{7FFFD4} %s\n{FFFFFF}Для начала игры введите свой пароль в окошко ниже:",ServerName,GN(playerid));
ShowPlayerDialog(playerid,2,DSP,"{FFFFFF}Авторизация аккаунта",string,"Далее","Выйти");
return 1;
}
new query[42+MAX_PLAYER_NAME];
format(query, sizeof(query), "SELECT * FROM `users` WHERE `Name` = '%s' AND `Password` = '%s'", GN(playerid),inputtext);
mysql_function_query(mysql_connect_ID,query,true,"LoadPlayer","ds",playerid,inputtext);
return 1;
}
PHP:
publics: LoadPlayer(playerid,password[])
{
new rows, fields;
cache_get_data(rows, fields);
switch(rows)
{
case 0:
{
SCM(playerid,COLOR_WHITE,"Неверный пароль");
KickEx(playerid);
}
case 1:
{
SetPVarInt(playerid,"Logged", 1);
cache_get_field_content(0,"Password",PInfo[playerid][pPass],mysql_connect_ID,20);
PInfo[playerid][pSex] = cache_get_field_content_int(0,"Sex",mysql_connect_ID);
PInfo[playerid][pSkin] = cache_get_field_content_int(0,"Skin",mysql_connect_ID);
PInfo[playerid][pLevel] = cache_get_field_content_int(0,"Level",mysql_connect_ID);
PInfo[playerid][pHouse] = cache_get_field_content_int(0,"House",mysql_connect_ID);
SCM(playerid,COLOR_LIGHTBLUE,"Все данные загружены");
}
}
SCM(playerid,COLOR_LIGHTBLUE,"Вы успешно авторизировались!");
SpawnPlayer(playerid);
LoadCar(playerid);
return 1;
}
