Zaloguj się by uzyskać pełen dostęp. Nie masz jeszcze konta? Założ je już teraz w kilka sekund.

Wysłany: 2019-10-15, 17:30


kamison

Przyszły programista .lua






Wiek: 25
Na forum: 3302 dni
Posty: 391
Nick w MP: kamison

Piwa: 594

Respekt: 205,3
Respekt: 205,3Respekt: 205,3

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",rootloginReq)

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


Postaw piwo autorowi tego posta
 

 
Tagi: sprawdzanie :: loginu :: gui :: tym :: bazie(mysql)
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






Skocz do:  
Wyświetl posty z ostatnich:   
GTAONLINE.PL » JĘZYKI PROGRAMOWANIA » LUA Odpowiedz do tematu

Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Dodaj temat do Ulubionych
Wersja do druku