mercredi 2 septembre 2015

MySQL + Whirlpool (Saving/Loading issues)

I'm having issue's relogging. I can register an account successfully of course, but if I quit the server and reconnect, when it asks for my password I can't seem to log in. I also have an admin control panel set up on my website that can't log in either, when all was well before. I don't remember what I changed, my mind is fried.

PHP Code:

stock RegisterPlayer(playeridregpass[])
{
    new 
pName[MAX_PLAYER_NAME];
    
GetPlayerName(playeridpNamesizeof(pName));
    new 
query[256];
    new 
EncryptedPass[130];
    
WP_Hash(EncryptedPasssizeof(EncryptedPass), regpass);
    
format(querysizeof(query), "INSERT INTO user_accounts (Username, Password, PlayerPos, Skin) VALUES ('%s', '%s', '1.0 2.0 3.0', '0')"pNameEncryptedPass);
    
mysql_query(query);
    
LoginPlayer(playerid);
    
    return 
1;
}

stock LoginPlayer(playerid)
{
    new 
query[126];
    new 
pName[MAX_PLAYER_NAME];
    
GetPlayerName(playeridpNamesizeof(pName));
    
    
format(querysizeof(query), "SELECT * FROM user_accounts WHERE Username = '%s'"pName);
    
mysql_query(query);
    
mysql_store_result();
    
    while(
mysql_fetch_row_format(query"|"))
    {
        
mysql_fetch_field_row(Player[playerid][Username], "Username");
        
mysql_fetch_field_row(Player[playerid][Password], "Password");
        
mysql_fetch_field_row(query"PlayerPos"); sscanf(query"fff"Player[playerid][Position][0], Player[playerid][Position][1], Player[playerid][Position][2]);
        
mysql_fetch_field_row(query"AdminLevel"); Player[playerid][AdminLevel] = strval(query);
        
mysql_fetch_field_row(query"Skin"); Player[playerid][Skin] = strval(query);
        
mysql_fetch_field_row(query"LoggedIn"); Player[playerid][LoggedIn] = strval(query);
        
mysql_fetch_field_row(query"Money"); Player[playerid][Money] = strval(query);
        
mysql_fetch_field_row(query"ID"); Player[playerid][ID] = strval(query);
    }
    
    
GivePlayerMoney(playeridPlayer[playerid][Money]);
    
LogIn(pName);
}

stock SavePlayer(playerid)
{
    new 
query[1024];
    new 
EncryptedPass[130];

    
WP_Hash(EncryptedPasssizeof(EncryptedPass), Player[playerid][Password]);
    new 
pName[MAX_PLAYER_NAME];
    
    
GetPlayerName(playeridpNamesizeof(pName));
    
    
Player[playerid][Money] = GetPlayerMoney(playerid);
    
Player[playerid][Skin] = GetPlayerSkin(playerid);
    
    
GetPlayerPos(playeridPlayer[playerid][Position][0], Player[playerid][Position][1], Player[playerid][Position][2]);
    
    
format(querysizeof(query), "UPDATE user_accounts SET Username = '%s', Password = '%s', PlayerPos = '%f %f %f', AdminLevel = '%d', Skin = '%d', Money = '%d' WHERE Username = '%s'"pNameEncryptedPassPlayer[playerid][Position][0], Player[playerid][Position][1], Player[playerid][Position][2], Player[playerid][AdminLevel], Player[playerid][Skin], Player[playerid][Money], pName);
    
mysql_query(query);
    
printf("Player ID %d (%s) has been updated"playeridpName);


PHP Code:

case dialogThreadLogin:
        {
            if(
response)
            {
                new 
query[256];
                new 
EncryptedPass[130];
                
                
WP_Hash(EncryptedPasssizeof(EncryptedPass), inputtext);
                
                new 
pName[MAX_PLAYER_NAME];
                
GetPlayerName(playeridpNamesizeof(pName));
                
                
format(querysizeof(query), "SELECT * FROM user_accounts WHERE Username = '%s' AND Password = '%s'"pNameEncryptedPass);
                
mysql_query(query);
                
mysql_store_result();
                
                if(
mysql_num_rows() == 1)
                {
                    
LoginPlayer(playerid);
                } else {
                    
SendClientMessage(playerid, -1"Incorrect password.");
                    
ShowPlayerDialog(playeriddialogThreadLoginDIALOG_STYLE_INPUT"Login""Enter your password:""Login""Cancel");
                }
            }
        } 



Aucun commentaire:

Enregistrer un commentaire