Comparar nomes c/ e s/ capslock -
F1N4L - 12.03.2016
Eu to desenvolvendo um FS admin e atй agora ele estб muito bom, mas gostaria de adicionar a funзгo de comparaзгo entre o nick q conectou com o nick no banco de dados.
PHP код:
new
Query_User[200],
DBResult:Resultado
;
format(Query_User, sizeof(Query_User), "SELECT `SENHA` AND `NOME` FROM `"USER_TABLE"` WHERE `NOME` = '%s'", DB_Escape(pName(playerid)));
Resultado = db_query(User_Database, Query_User);
if(db_num_rows(Resultado))
{
db_get_field_assoc(Resultado, "SENHA", USER[playerid][pSENHA], 129);
ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "[»] Painel de Login", "[»] Bem Vindo novamente ao nosso servidor\nLogue-se para continuar de onde parou:", "LOGAR", "SAIR");
}
else
{
db_get_field_assoc(Resultado, "NOME", USER[playerid][pNOME], 24);
db_get_field_assoc(Resultado, "SENHA", USER[playerid][pSENHA], 129);
if(strcmp(pName(playerid), USER[playerid][pNOME], false) == 0)
{
ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "[»] Painel de Login", "[»] Bem Vindo novamente ao nosso servidor\nLogue-se para continuar de onde parou:", "LOGAR", "SAIR");
}
else
{
ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD, "[»] Painel de Registro", "[»] Bem Vindo ao nosso servidor\nRegistre-se para salvar seu dados:", "REGISTRAR", "SAIR");
}
}
db_query(User_Database, Query_User);
db_free_result(Resultado);
O problema й q por mais que realmente esteja comparando os nomes c/ ou s/ caps, a senha n funfa e o usuбrio loga com qualquer uma!
Se alguem puder ajudar.
Re: Comparar nomes c/ e s/ capslock -
lucas_mdr1235 - 12.03.2016
verifica a resposta do dialogo DIALOG_REGISTER !
Re: Comparar nomes c/ e s/ capslock -
Kimossab - 13.03.2016
na query tenta substituir o
WHERE `NOME` = '%s'"
por
WHERE COLLATE `NOME` LIKE '%s'"
Re: Comparar nomes c/ e s/ capslock -
F1N4L - 13.03.2016
Quote:
Originally Posted by Kimossab
na query tenta substituir o
WHERE `NOME` = '%s'"
por
WHERE COLLATE `NOME` LIKE '%s'"
|
Vocк salvou meu FS, porйm isso estб errado (para comparaзгo). O corretor й e vou deixar se alguйm mais precisar:
Quote:
WHERE `NOME` = '%s' COLLATE NOCASE
|
Mas muito obrigado!
Re: Comparar nomes c/ e s/ capslock -
RaphaelCaldas - 14.03.2016
Nгo use LIKE, se o Campo nao tiver Primary Key ou Unique KEY, e tambйm, nгo use LIKE, de forma alguma, Use LOWER(`NOME`) = LOWER('%s') [E OQUE MAIS QUISER AQUI(NГO VAI PRECISAR, MAS SE QUISER

)].
BOA SORTE, E TOME CUIDADO, LIKE PODE BUGAR DE UMA FORMA CHATA.
Re: Comparar nomes c/ e s/ capslock -
F1N4L - 14.03.2016
Quote:
Originally Posted by RaphaelCaldas
Nгo use LIKE, se o Campo nao tiver Primary Key ou Unique KEY, e tambйm, nгo use LIKE, de forma alguma, Use LOWER(`NOME`) = LOWER('%s') [E OQUE MAIS QUISER AQUI(NГO VAI PRECISAR, MAS SE QUISER  )].
BOA SORTE, E TOME CUIDADO, LIKE PODE BUGAR DE UMA FORMA CHATA.
|
Nгo conheзo boa parte das funзхes de SQLite, mas sei o suficiente para gerar um bom banco de dados. Nгo sei o porque do LIKE ou do LOWER, mas vou testar esse seu modo para ver se funciona, a principio o COLLATE NOCASE ta funfando perfeitamente!
Re: Comparar nomes c/ e s/ capslock -
RaphaelCaldas - 14.03.2016
Quote:
Originally Posted by F1N4L
Nгo conheзo boa parte das funзхes de SQLite, mas sei o suficiente para gerar um bom banco de dados. Nгo sei o porque do LIKE ou do LOWER, mas vou testar esse seu modo para ver se funciona, a principio o COLLATE NOCASE ta funfando perfeitamente!
|
Oi Amigгo, vou te mostrar o Por que:
Com o uso de LIKE:
Com o uso de LOWER():
Nunca й recomendado usar LIKE, LIKE й usado melhor para sistemas de Pesquisa, e nгo de comparaзгo!
E SIM, ESTOU USANDO UNIQUE KEY, PARA REPRESENTAR MELHOR!
Re: Comparar nomes c/ e s/ capslock -
F1N4L - 14.03.2016
Obrigado por aplicar a comparaзгo na prбtica. Com certeza vai me servir posteriormente!
Re: Comparar nomes c/ e s/ capslock -
Kimossab - 14.03.2016
Quote:
Originally Posted by F1N4L
Vocк salvou meu FS, porйm isso estб errado (para comparaзгo). O corretor й e vou deixar se alguйm mais precisar:
Mas muito obrigado!
|
Eh pois, jб nao me lembrava da sintaxe certa mas sabia que tinha que usar o collate algures xD
Re: Comparar nomes c/ e s/ capslock -
F1N4L - 15.03.2016
Quote:
Originally Posted by Kimossab
Eh pois, jб nao me lembrava da sintaxe certa mas sabia que tinha que usar o collate algures xD
|
A verdade й q mesmo errando me ajudou muito, pois como a sua forma nгo havia funfado, eu pesquisei por sintaxes parecidas e encontrei!