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

Wysłany: 2015-11-22, 18:34


xSquiter02







Wiek: 30
Na forum: 3852 dni
Posty: 13
Nick w MP: xSquiter



Respekt: 50

Ostrzeżeń: 20%
Witajcie, jak ju? pewnie wiecie po ostatnich moich tematach, ostatnio zacz??em pisa? panel logowania. Logowanie ju? dzia?a, ale mam problem ze zrobieniem rejstracji. i potem przerobieniem tego wszystkiego na MySQL. Chcia?bym aby kto? pom?g?by mi zrobi? t? rejstracj? i przerobi? pod MySQL.

oto m?j kod:

client.lua:



addEvent("onClientWrongLogin",true)
addEvent("onClientLoginSuccess",true)



local winlogin guiCreateWindow(0,0,550,780,"Logowanie",false) -- okno logowania

local zaloguj guiCreateButton(40,625,220,100,"Zaloguj",false,winlogin)      -- przycisk zaloguj
local zarejstruj guiCreateButton(295,625,220,100,"Rejstracja",false,winlogin) -- przycisk zarejstruj
local editlogin guiCreateEdit(25,340,495,50,"",false,winlogin)        -- miejsce na login
local editpassw guiCreateEdit(25,440,495,50,"",false,winlogin)        -- miejsce na haslo
local labellogin guiCreateLabel(25,325,120,20,"Nazwa u?ytkownika",false,winlogin)
local labelpassw guiCreateLabel(30,425,120,20,"Has?o",false,winlogin)

local ErrorL guiCreateLabel(35,500,150,20,"",false,winlogin)
local colorL guiLabelSetColor(ErrorL,255,0,0)

-- L O G O W A N I E

-- R E J S T R A C J A 

local winrejstracja guiCreateWindow(0,0,550,780,"Rejstracja",false) --okno rejstracji

local relogin guiCreateButton(295,625,220,100,"Zarejstruj",false,winrejstracja) -- przycisk rejstracji
local reWroc guiCreateButton(40,625,220,100,"<<Wr?? do okna logowania",false,winrejstracja)
local reLEdit guiCreateEdit(25,340,495,50,"",false,winrejstracja)      -- login
local rePassw1 guiCreateEdit(25,440,495,50,"",false,winrejstracja)     -- haslo

local reLabel guiCreateLabel(25,325,120,20,"Nazwa u?ytkownika",false,winrejstracja)
local reLabel1 guiCreateLabel(30,425,120,20,"Has?o",false,winrejstracja)

-- R E J S T R A C J A

guiSetVisible(winrejstracja,false)
guiWindowSetMovable(winlogin,false) --w??cza/wy?acza przemieszczanie
guiWindowSetSizable(winlogin,false) --w??cza/wy?acza rozszerzanie

guiEditSetMasked(editpassw,true)
guiEditSetMasked(rePassw1,true)

guiWindowSetMovable(winrejstracja,false)
guiWindowSetSizable(winrejstracja,false)



addEventHandler("onClientResourceStart",resourceRoot,
    function()
        showCursor(true)
        showChat(false)
        showPlayerHudComponent("all",false)
        fadeCamera(true)
    end
)

addEventHandler("onClientGUIClick",zarejstruj,
    function( )
        guiSetVisible(winlogin,false)
        guiSetVisible(winrejstracja,true)
    endfalse
)

addEventHandler("onClientGUIClick",reWroc,
    function( )
        guiSetVisible(winlogin,true)
        guiSetVisible(winrejstracja,false)
    endfalse
)

function setErrorString(errorString)
    guiSetText(ErrorL,errorString)
end

addEventHandler("onClientWrongLogin",root,
    function(errorString)
        if errorString then
        setErrorString(errorString)
        end
    end
)

addEventHandler("onClientLoginSuccess",root,
    function()
        destroyElement(winlogin)
        destroyElement(winrejstracja)
    end
)

addEventHandler("onClientGUIClick",zaloguj,
    function(btn,state)
        if btn == "left" and state == "up" then
            local login guiGetText(editlogin)
            local pass guiGetText(editpassw)
            if login ~= "" and pass ~= "" then
                triggerServerEvent("sprobujZalogowac",localPlayer,login,pass)
            else
                setErrorString("Uzupe?nij wszystkie pola!")
            end
        end
    endfalse
)



server.lua:



addEvent("sprobujZalogowac",true)
addEvent("sprobujZarejstrowac",true)

addEventHandler("sprobujZalogowac",root,
    function(login,passw)
        if getAccount(loginthen
            local acc getAccount(login,passw)
            if acc then
                logIn(source,acc,passw)
            else
                triggerClientEvent(source,"onClientWrongLogin",root,"Podano z?e has?o!")
            end
        else
            triggerClientEvent(source,"onClientWrongLogin",root,"Podano z?y login!")
        end
    end
)

addEventHandler("onPlayerLogin",root,
    function()
        setCameraTarget(source,source)
        showChat(source,true)
        showCursor(source,false)
        showPlayerHudComponent(source,"all",true)
        spawnPlayer(source, -1966.9000244141890.7999877929742.099998474121270.00)
        triggerClientEvent(source,"onClientLoginSuccess",root)
    end
)




Prosz? o pomoc. Stawiam piwo za najlepsz? pomoc :)

Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-11-22, 18:58


Terr9909

Skrypter LUA






Wiek: 26
Na forum: 4234 dni
Posty: 346
Nick w MP: Split

Piwa: 1043

Respekt: 182,8
Respekt: 182,8Respekt: 182,8

Nikt Ci tego za darmo nie wykona, mo?esz pisa? w dziale gie?da.

Ale pomog? Ci:

Więcej informacji znajdziesz w Wikipedii MTA:

dbConnect


Więcej informacji znajdziesz w Wikipedii MTA:

dbQuery


Więcej informacji znajdziesz w Wikipedii MTA:

dbExec


Więcej informacji znajdziesz w Wikipedii MTA:

dbPoll


Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-11-22, 19:08


xSquiter02







Wiek: 30
Na forum: 3852 dni
Posty: 13
Nick w MP: xSquiter



Respekt: 50

Ostrzeżeń: 20%
Dzi?ki :) A pom?g?by kto? chocia? podpi?? funkcj? posd rejstracj?? :)

Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-11-23, 18:54


jg2aviva1

Rusek :D






Wiek: 25
Na forum: 4134 dni
Posty: 445
Nick w MP: _Wolfenstei[N]^.^

Piwa: 1033

Respekt: 240
Respekt: 240Respekt: 240

Ostrzeżeń: 60%
To tworzysz funkcj? po stronie clienta aby co? si? dzia?o po "u?yci" gui. Potem (je?li has?o jest dobre co robisz warunkami)i potem przenosisz argumenty na strone serwera i logujesz gracza :) . Przyda ci si?:


Więcej informacji znajdziesz w Wikipedii MTA:

triggerClientEvent


Więcej informacji znajdziesz w Wikipedii MTA:

triggerServerEvent


Więcej informacji znajdziesz w Wikipedii MTA:

addEvent


Więcej informacji znajdziesz w Wikipedii MTA:

logIn


Więcej informacji znajdziesz w Wikipedii MTA:

addAccount


Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-11-25, 17:36


xSquiter02







Wiek: 30
Na forum: 3852 dni
Posty: 13
Nick w MP: xSquiter



Respekt: 50

Ostrzeżeń: 20%
Logowanie i rejstracja dzia?a ;)

Ca?y dzie? siedzia?em nad przerobieniem tego pod mysql ale na marne. ;/

Ostatnio zmieniony przez #404 2015-11-25, 21:04, w całości zmieniany 2 razy  
Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-11-25, 20:16


Jurandovsky

Kurdebele






Wiek: 17
Na forum: 4838 dni
Posty: 915

Piwa: 2697

Respekt: 955,3
Respekt: 955,3Respekt: 955,3

local connect = dbConnect(uzupelnij odpowiednimi danymi z mysql'a)
Mamy w ten spos?b po??czenie z mysqlem..
Roznica miedzy dbExec a dbQuery jest taka :


dbExec nigdy nie zwraca warto?ci, po prostu robi co? w sql'u i nie zwraca warto?ci, dlatego u?ywa si? go do : INSERT INTO i UPDATE

dbQuery zwraca warto?ci z sql'a dlatego najcz??ciej si? go u?ywa do takiej operacji jak :
SELECT warto?? FROM


ma?y przyk?ad

Chc? z Mysql'a z tabeli players wyci?gn?? ilo?? hajsu gracza z PID'em 5

local query = dbQuery(connect, "SELECT money FROM players WHERE PID=?", 5)

Podpis
Jedyny kontakt ze mną to PW forum

Kod:


local noobs = getElementsByTitle("player", "Programista LUA")
for k, v in ipairs(noobs) do
outputChatBox("Bez mózgu jest użytkownik o nicku: "..getPlayerName(v), root)
destroyElement(v)
end
Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-11-27, 14:35


xSquiter02







Wiek: 30
Na forum: 3852 dni
Posty: 13
Nick w MP: xSquiter



Respekt: 50

Ostrzeżeń: 20%
Po wielu pr?bach nadal baza danych nie dzia?a z tym skryptem :/

Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-11-27, 18:33


jg2aviva1

Rusek :D






Wiek: 25
Na forum: 4134 dni
Posty: 445
Nick w MP: _Wolfenstei[N]^.^

Piwa: 1033

Respekt: 240
Respekt: 240Respekt: 240

Ostrzeżeń: 60%
"xSquiter02" napisał/a:

Po wielu pr?bach nadal baza danych nie dzia?a z tym skryptem :/


Mo?e by? poda? kod ?eby?my wiedzieli co jest nie tak, wr??bita maciej ma dzi? wolnw, wi?c db3 te? by si? przyda?o :P

Podpis



GTAO Member: 2015-08-23, 14:26

Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-11-27, 18:51


xSquiter02







Wiek: 30
Na forum: 3852 dni
Posty: 13
Nick w MP: xSquiter



Respekt: 50

Ostrzeżeń: 20%
Pierwszym problemem jest brak po??czenia z MySQL


local db dbConnect("mysql","host=****...**;dbname=********","bestlife_server","FajneHas?oPTS123","share=0")



addEventHandler("sprobujZalogowac",root,
    function(login,passw)
        local q dbQuery(db"SELECT * FROM `bestlife_accounts` WHERE `account_name` = ?",login)
        local resultrowslast_if dbPol(q,-1)
        if result then
            if rows == 1 then
                if string.lower(sha256(result[1].account_token .. password)) == result[1].account_password then
                    outputChatBox("Zalogowano Pomy?lnie!")
                else    
                    triggerClientEvent("onClientWrongPass",root,"Z?e has?o")
                end
            else
                triggerClientEvent("onClientNieZnalezionoKonta",root,"Z?y login")
            end
        elseif result == false then
            outputConsole("dbPoll failed. Error code: " .. tostring(rows) .. " Error message: " .. tostring(last_id) )
    end
)


Postaw piwo autorowi tego posta
 

 
Tagi: rejstracja :: gui
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






Skocz do:  
Wyświetl posty z ostatnich:   
GTAONLINE.PL » JĘZYKI PROGRAMOWANIA » LUA » Rejstracja GUI Ten temat jest zablokowany bez możliwości zmiany postów lub pisania odpowiedzi

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