24.06.2012, 00:33
I have this Mysql register system, and I've got it working pretty good, but it don't want to login the player if it is registered. I use MySQL R7 plugin.
Here is how it works, i do check if the it is any row with the name that the player have and the password as the player whrites:
Then I here is my LoadPassword:
Will this check if there is any rows found with the password as they put in and the name they have?
When i log in Nothing happens and the MySQL_Login function does never got called, not the other either, it just dissapear and nothing happens :S
Someone knows what's wrong with this?
I'm very thankful for any help,
and if you got a better idea just tell me but I've not found any for MySQL R7 :S
Here is how it works, i do check if the it is any row with the name that the player have and the password as the player whrites:
Код:
if(response) //If the player clicked login { new query[200], pname[24], escapepass[100]; // GetPlayerName(playerid, pname, MAX_PLAYER_NAME); //Gets the players name mysql_real_escape_string(inputtext, escapepass); //We escape the inputtext to avoid SQL injections. format(query, sizeof(query), "SELECT * FROM playerinfo WHERE name = '%s' AND password = SHA1('%s')", pname, escapepass); mysql_function_query(dbHandle, query, true, "LoadPassword", "u", playerid); }
Код:
public LoadPassword(playerid){ new rows, fields; cache_get_data(rows, fields); if(rows) { MySQL_Login(playerid); SendClientMessage(playerid, COLOR_YELLOW, "You have now logged in"); } else{ if (logintrys[playerid] < 5){ //This means that the password that the player //typed was incorrect and we will resend the dialog. ShowPlayerDialog(playerid, 15500, DIALOG_STYLE_PASSWORD, "Login","Your name is {FF0000}registered{FFFFFF}! Please {0000FF}login{FFFFFF} with your password below!\n{FF0000} The password you typed was incorrect!","Login","Cancel"); //Shows our login dialog :). SendClientMessage(playerid,COLOR_RED, "Invalid Password"); //Sends the client a error message logintrys[playerid] ++; } else{ SendClientMessage(playerid, COLOR_RED, "You have been auto kicked becuse you have entered invalid password 5 times in a row, you can log in again if you want."); Kick(playerid); } } }
When i log in Nothing happens and the MySQL_Login function does never got called, not the other either, it just dissapear and nothing happens :S
Someone knows what's wrong with this?
I'm very thankful for any help,
and if you got a better idea just tell me but I've not found any for MySQL R7 :S