[Ajuda] Como salvar essas tabelas no MySQL?
#1

criei essa funзгo vendo uns tutoriais mas nгo sei oque devo fazer para a tabela ser criada no meu phpadmin, eu achava que jб iria criar mas nгo foi como eu previ.

PHP код:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    if(
dialogid == 0)   {
    new 
Str[300], nomeplayer[21], Float: X, Float: Y, Float: Z;
    
GetPlayerName(playerid, nomeplayer, 20);
    
GetPlayerPos(playerid, X, Y, Z);
    
format(Str, 300, "INSERT INTO `Contas`(`Nome`, `Senha`, `Level`, `Admin`, `Respeito`, `Org`, `Membro`, `X`, `Y`, `Z`) VALUES ('%s', '%i', '10', '%i', '%i', '%i', '%i', '%f', '%f', '%f')", nomeplayer, Hash(inputtext), 10, 8, 150, 2, 1, X, Y, Z);
    
mysql_tquery(Connect, Str, "DadosRegistrados", "i", playerid);
    }
    return 
1;
}
Hash(Dados[])   {
    new 
Hashs;
    for(new 
i = (strlen(Dados) -1); i > -1; --i) Hashs += (Dados[i]*Dados[(i + 1)]);
    return 
Hashs;
    } 
Reply
#2

Quote:
Originally Posted by Misael
Посмотреть сообщение
criei essa funзгo vendo uns tutoriais mas nгo sei oque devo fazer para a tabela ser criada no meu phpadmin, eu achava que jб iria criar mas nгo foi como eu previ.

PHP код:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    if(
dialogid == 0)   {
    new 
Str[300], nomeplayer[21], Float: X, Float: Y, Float: Z;
    
GetPlayerName(playerid, nomeplayer, 20);
    
GetPlayerPos(playerid, X, Y, Z);
    
format(Str, 300, "INSERT INTO `Contas`(`Nome`, `Senha`, `Level`, `Admin`, `Respeito`, `Org`, `Membro`, `X`, `Y`, `Z`) VALUES ('%s', '%i', '10', '%i', '%i', '%i', '%i', '%f', '%f', '%f')", nomeplayer, Hash(inputtext), 10, 8, 150, 2, 1, X, Y, Z);
    
mysql_tquery(Connect, Str, "DadosRegistrados", "i", playerid);
    }
    return 
1;
}
Hash(Dados[])   {
    new 
Hashs;
    for(new 
i = (strlen(Dados) -1); i > -1; --i) Hashs += (Dados[i]*Dados[(i + 1)]);
    return 
Hashs;
    } 


PHP код:

format
(Str, 300, "INSERT INTO `Contas`(`Nome`, `Senha`, `Level`, `Admin`, `Respeito`, `Org`, `Membro`, `X`, `Y`, `Z`) VALUES ('%s', '%i', '10', '%i', '%i', '%i', '%i', '%f', '%f', '%f')", nomeplayer, Hash(inputtext), 10, 8, 150, 2, 1, X, Y, Z);
mysql_query(Connect, Str); 
Reply
#3

Muito obrigado!
Vocкs sгo demais.
Reply
#4

PHP код:
forward OnPlayerLogin(playerid, Senha);
public 
OnPlayerLogin(playerid, Senha)
{
    new 
row, field;
    
cache_get_data(row, field, Connect);
    if(
row) ShowPlayerDialog(playerid, 0, DIALOG_STYLE_INPUT, "Login", "Digite sua senha", "Logar", "Sair");
    
ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "Registro", "Digite sua senha", "Registrar", "Sair");
    return 
1;
}

public 
OnPlayerSpawn(playerid)
{
    new 
Str[58];
    new 
nomeplayer[21];
    
GetPlayerName(playerid, nomeplayer, 20);
    
format(Str, 58, "SELECT * FROM `Contas` WHERE `Nome`='%s'", nomeplayer);
    
mysql_query(Connect, Str, true, "OnPlayerLogin", "i", playerid);
    return 
1;
} 
PHP код:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    if(
dialogid)   {
    new 
Str[300], nomeplayer[21];
    
GetPlayerName(playerid, nomeplayer, 20);
    
format(Str, 300, "SELECT *FROM `Contas` WHERE `Nome`='%s' AND `Senha`='%i')", nomeplayer, Hash(inputtext));
    
mysql_query(Connect, Str);
    
SendClientMessage(playerid, -1, "Registrado com sucesso.");
    }
    else{
    new 
Str[300], nomeplayer[21], Float: X, Float: Y, Float: Z;
    
GetPlayerName(playerid, nomeplayer, 20);
    
GetPlayerPos(playerid, X, Y, Z);
    
format(Str, 300, "INSERT INTO `Contas`(`Nome`, `Senha`, `Level`, `Admin`, `Respeito`, `Org`, `Membro`, `X`, `Y`, `Z`) VALUES ('%s', '%i', '10', '%i', '%i', '%i', '%i', '%f', '%f', '%f')", nomeplayer, Hash(inputtext), 10, 8, 150, 2, 1, X, Y, Z);
    
mysql_query(Connect, Str, true, "AposVerificarLogin", "i", playerid);
    return 
1;
}

forward AposVerificarLogin(playerid);
public 
AposVerificarLogin(playerid)
{
    new 
row, field;
    
cache_get_data(row, field, Connect);
    if(
row) SendClientMessage(playerid, -1, "Logado com Sucesso!");
    } else { 
ShowPlayerDialog(playerid, 0, DIALOG_STYLE_INPUT, "Login", "Senha Incorreta, tente novamente", "Logar", "Sair");
    return 
1;
}

Hash(Dados[])   {
    new 
Hash;
    for(new 
i = (strlen(Dados) -1); i > -1; --i) Hash += (Dados[i]*Dados[(i + 1)]);
    return 
Hash;
    } 
Tem como alguйm atualizar isso pra mim, ou me dizer como atualizar?
Reply
#5

Recomendo usar encriptaзгo nativa: https://dev.mysql.com/doc/refman/5.5...functions.html

E troque:
Код:
mysql_query(Connect, Str);
Por:
Код:
mysql_tquery(Connect, Str, "callback", "specifiers", args);
Recomendo o uso de threads no samp e, por isso, em qualquer inclusгo/atualizaзгo/consulta... utilize mysql_tquery.
Reply
#6

Tem como vocк fazer uma base do AES_ENCRYPT pra mim?
Reply
#7

Quote:
Originally Posted by Misael
Посмотреть сообщение
Tem como vocк fazer uma base do AES_ENCRYPT pra mim?
Inserir dados:
Код:
format(Str, 300, "INSERT INTO `Contas`(`Nome`, `Senha`, `Level`, `Admin`, `Respeito`, `Org`, `Membro`, `X`, `Y`, `Z`) VALUES ('%s', AES_ENCRYPT('%e', 'chave para encriptacao'), '10', '%i', '%i', '%i', '%i', '%f', '%f', '%f')", nomeplayer, inputtext, 10, 8, 150, 2, 1, X, Y, Z); 
mysql_tquery(Connect, Str, "", "");
Carregar dados:
Код:
format(Str, 300, "SELECT * FROM `Contas` WHERE `Nome`='%e' AND `Senha`=AES_ENCRYPT('%e', 'chave para encriptacao')", nomeplayer, inputtext);
mysql_tquery(Connect, Str, "DadosRegistrados", "i", playerid);
}
Com encriptaзгo AES vocк consegue adicionar mais camadas de proteзгo para fortificar a encriptaзгo.
Onde estб escrito "chave para encriptacao" й onde vai uma cadeia de caracteres alfanumйricos que serб usado para calcular o hash.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)