kamison
Przyszły programista .lua
Wiek: 25 Na forum: 3302 dni Posty: 391
Nick w MP: kamison
Piwa : 594
Napisa?em funkcj? do logowania przez gui.
Problem w tym, ?e nie potrafi? por?wna? loginu z gui z tym co jest w bazie.
Z clienta przesy?am login i has?o z gui
function loginReq ( login , password )
local login = guiGetText ( editLogin )
local password = guiGetText ( editPassword )
triggerServerEvent ( "loginReq" , root , login , password )
end
addEvent ( "loginReq" , true )
addEventHandler ( "loginReq" , root , loginReq )
A na serwerze wykonuje tak
SQL = dbConnect ( "mysql" , "dbname=test;host=localhost" , "" , "" , "share=1" )
addEvent ( "loginReq" , true )
addEventHandler ( "loginReq" , getRootElement (), function ( login , password )
local loginDb = dbQuery ( SQL , "SELECT * FROM konto WHERE login =?" , login )-- wyszuka rekordy z takim samym nickiem
local resultLogin = dbPoll ( loginDb ,- 1 )
local passwordDb = dbQuery ( SQL , "SELECT * FROM konto WHERE password=?" , password )
local resultPassword = dbPoll ( passwordDb ,- 1 )
if #resultLogin then
if #resultLogin == login then
if resultPassword == password then
triggerClientEvent ( "closeGui" , source )
outputDebugString ( "zalogowales" )
else
outputDebugString ( "ne" )
end
outputDebugString ( "loginy zgadzaja sie" )
else
outputDebugString ( "loginy nie zgadzaja sie" )
end
outputDebugString ( "wzialem login" )
else
outputDebugString ( "nie wzialem loginu" )
end
end )
Pierwszy if si? wykonuje i pobiera z bazy login, a drugi m?wi, ?e loginy nie zgadzaj? si?.
Co robi? ?le?
[ Dodano : 2019-10-15, 17:33 ]
Funkcje s? przypi?te do przycisku
[ Dodano : 2019-10-16, 18:16 ]
Tym razem problem jest gdy konto ju? za?o?? konto(wkleja do bazy) ale nie od?wie?aj?c skryptu nadal mog? doda? te konto(ten sam login)...
addEventHandler ( "registerRequest" , root ,function ( log , pass )
local login = ( log )
local passworod = ( pass )
outputDebugString ( "Login gui to: " .. log )
outputDebugString ( "Haslo gui to: " .. pass )
local wezLogin = string . format ( "SELECT * FROM konto " )
local resultLogin = exports . DB1 : pobierzWyniki ( wezLogin )
-- local stworzKonto = exports . DB2 : zapytanie ( "INSERT INTO konto (login,password) VALUES (?,?)" , log , pass )
if resultLogin . login == log then
outputDebugString ( "TAKI LOOGIN JUZ ISTENIEJE: " .. login )
else
local stworzKonto = exports . DB2 : zapytanie ( "INSERT INTO konto (login,password) VALUES (?,?)" , log , pass )
outputDebugString ( "Stworzy?e? konto o loginie: " .. log )
end
end )
[ Dodano : 2019-10-19, 00:44 ]
Okej, p?ki co jako? tam ogarni?te, rejestruje i przed rejestracj? od razu sprawdza czy jest w bazie ^^
local check = exports [ "DB3" ]: dbGet ( "SELECT * FROM konto WHERE login = ? " , loginGUI )
if check and #check > 0 then