kastet14185 |
Дата: Среда, 14.06.2017, 23:48 | Сообщение # 1
|
Новичок
Сообщений: 1
Статус: Offline
|
Здравствуйте форумчане, помогите решить проблему с авто-логином, вот код:
Код function Welcome2(playerid) { new string[200]; new pip[20]; new DBResult:result; //format(string, sizeof(string), "SELECT Login FROM Accounts WHERE Login = '%s'", PlayerInfo[playerid][pName]); format(string, sizeof(string), "SELECT Login FROM Accounts WHERE Login = '%s' LIMIT 1", PlayerInfo[playerid][pName]); result = db_query(dbHandle, string); if(db_num_rows(result) != 0) { db_free_result(result); GetPlayerIp(playerid, pip, 20); format(string, sizeof(string), "SELECT * FROM Accounts WHERE Login = '%s' AND IP = '%s'", PlayerInfo[playerid][pName], pip); if(db_num_rows(result) != 0) { LoginPlayer(playerid); } if(!db_num_rows(result)) { db_get_field_assoc(result, "Password", str, MAX_PLAYER_PASSWORD), SetPVarString(playerid, "Password", str); ShowDialog(playerid, DIALOG_LOGIN); } } else { ShowDialog(playerid, DIALOG_REGISTER); } db_free_result(result); return true; }
Проблема заключается в том, что вот такой вот код и при заходе на сервер, если новый ник то его регистрирует как положено без проблем, при повторном подключении проиходит автологин, но я пробовал менять айпи своего интернета, в итоге происходит снова автологин на новом IP, собственно это и есть проблема, и ещё при регистрации в базу данных в поле Password не вносится пароль, который использовался при регистрации и поле Password пустое, либо я криво перевёл с MySQL на SQLite, либо я просто не понимаю в чем проблема. Помогите.
Сообщение отредактировал kastet14185 - Четверг, 15.06.2017, 00:07 |
|
|
|
=) |
Дата: Воскресенье, 02.07.2017, 20:47 | Сообщение # 2
|
Боец
Сообщений: 271
Статус: Offline
|
Ты просто проверяешь, пришел ответ от бд или нет. Ответ разумеется приходит, вот он и авторизует. Это будет даже если под чужим ником зайдешь - он авторизует. Нужно после проверки получения данных делать проверку на сами данные. То есть одинаковый ли айпи игрока сейчас с тем, который записан в аккаунте.
|
|
|
|