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

Wysłany: 2013-03-27, 23:03


vipSEBOvip

A poor begginer






Wiek: 26
Na forum: 5178 dni
Posty: 597
Nick w MP: xSebaPL

Piwa: 77

Respekt: 140
Respekt: 140

Witajcie, mam problem z panelem logowania. Ot?? sprawdza tylko pierwsze konto, a dalej ju? nie sprawdza.
function loginRequest(playerusernamepassword)
    local account mysql_query(MySQLConnect"SELECT * FROM Konto")
    for kv in mysql_rows_assoc(account) do
        local loginm v["Login"]
        local haslom v["Haslo"]
        if (username == loginm) and (password == haslomthen
            outputChatBox("Zalogowa?e? si? poprawnie."player)
            triggerEvent("onGraczZalogowany"getRootElement())
            triggerClientEvent(player"hideLoginWindow"getRootElement())
                        setElementData(player"Zalogowany"1)
            return
        end
            outputChatBox("Nie poprawne has?o."player)
        return false
    end
end


Chodzi mi o linijki:
    for kv in mysql_rows_assoc(account) do
        local loginm v["Login"]
        local haslom v["Haslo"]
        if (username == loginm) and (password == haslomthen
            outputChatBox("Zalogowa?e? si? poprawnie."player)


I tutaj mo?na zalogowa? si? na 1 konto, 1 w tabeli `Konto`

Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-03-28, 10:08


Oski

LUA Scripter






Wiek: 30
Na forum: 5246 dni
Posty: 428
Nick w MP: Oski

Piwa: 56

Respekt: 75,1

Zastosuj sprawdzanie rekord?w poprzez p?tle while.

while true do
             local row mysql:fetch_assoc(account)
             if (not rowthen break end
             local loginm v["Login"]
             local haslom v["Haslo"]
             if (username == loginm) and (password == haslomthen
             outputChatBox("Zalogowa?e? si? poprawnie."player)
             
end


Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-03-28, 10:21


vipSEBOvip

A poor begginer






Wiek: 26
Na forum: 5178 dni
Posty: 597
Nick w MP: xSebaPL

Piwa: 77

Respekt: 140
Respekt: 140

W jakim miejscu mam to w klei? ? Bo z robi?em to tak:

function loginRequest(playerusernamepassword)
    local account mysql_query(MySQLConnect"SELECT * FROM Konto")
    for kv in mysql_rows_assoc(account) do
    while true do
        local row mysql_fetch_assoc(account)
        if (not rowthen break end
            local loginm v["Login"]
            local haslom v["Haslo"]
            if (username == loginm) and (password == haslomthen
            outputChatBox("Zalogowa?e? si? poprawnie."player)
            triggerEvent("onGraczZalogowany"getRootElement())
            triggerClientEvent(player"hideLoginWindow"getRootElement())
            setElementData(player"Zalogowany"1)
            return
        end
            outputChatBox("Nie poprawne has?o."player)
        return false
    end
    end
end


I dalej sprawdza tylko pierwsze w tabeli.

PS
Do czego s?u?y to while ?

Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-03-28, 10:30


Jacob

Głupiomądry






Wiek: 28
Na forum: 5502 dni
Posty: 967
Nick w MP: Jacob

Piwa: 786

Respekt: 212,3
Respekt: 212,3Respekt: 212,3

Lepiej zrobi? tak:
local result mysql_query(connection"SELECT * FROM Konto WHERE Login="..username.." Haslo="..password)
if mysql_num_rows(result) > 0 then
-- jak konto istnieje
else
-- jak nie istnieje
end


Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-03-28, 10:32


luki123luki123

Place Game






Wiek: 28
Na forum: 5275 dni
Posty: 1948
Nick w MP: LuKiO

Piwa: 6101

Respekt: 611
Respekt: 611Respekt: 611

Jacob, pom?? z mi z panelem ammo

Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-03-28, 10:44


vipSEBOvip

A poor begginer






Wiek: 26
Na forum: 5178 dni
Posty: 597
Nick w MP: xSebaPL

Piwa: 77

Respekt: 140
Respekt: 140

Wyskakuje b??d z mysql_num_rows


Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-03-28, 11:52


Riot

3X






Wiek: 29
Na forum: 5729 dni
Posty: 1123
Nick w MP: Riot/3X

Piwa: 286

Respekt: 123
Respekt: 123

Zapewne dla tego, ?e Jacob da? Ci jako nazw? po??czenia connection a w Twoim kodzie masz MySQLConnect. Zmie? to connection na MySQLConnect i powinno ?miga?.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-03-28, 12:01


vipSEBOvip

A poor begginer






Wiek: 26
Na forum: 5178 dni
Posty: 597
Nick w MP: xSebaPL

Piwa: 77

Respekt: 140
Respekt: 140

Zauwa?y?em to przed tob? i zamieni?em dawno ;D
Nie dzia?a nawet z zamienionym

[ Dodano: 2013-03-28, 14:48 ]
Odkry?em ?e co? jest z result jaki? b??d.
Otoczy?em funkcje if'em sprawdzaj?cym result
    local result mysql_query(MySQLConnect"SELECT * FROM Konto WHERE Login='"..username.."' Haslo='"..password.."'")
    if result then
    outputChatBox("Test result."player)
    if (mysql_num_rows(result) > 0then


I gdy klikam zaloguj, nie pokazuje si? 'Test result.'

Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-03-28, 15:25


Jacob

Głupiomądry






Wiek: 28
Na forum: 5502 dni
Posty: 967
Nick w MP: Jacob

Piwa: 786

Respekt: 212,3
Respekt: 212,3Respekt: 212,3

Daj ca?? funkcj? i nazwy kolumny logiinu i has?a w mysql.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-03-28, 15:31


vipSEBOvip

A poor begginer






Wiek: 26
Na forum: 5178 dni
Posty: 597
Nick w MP: xSebaPL

Piwa: 77

Respekt: 140
Respekt: 140

Server:
local hostname get("hostname") or "maxrate.pl"
local username get("username") or "rg2_s4971"
local password get("password") or "********"
local database get("database") or "rg2_s4971"
local port tonumber(get("port")) or 3306

local MySQLConnect nil

addEventHandler("onResourceStart"getResourceRootElement(getThisResource()),
function(res)
    MySQLConnect mysql_connect(hostnameusernamepassworddatabaseport)
    if (not MySQLConnectthen
        if (res == getThisResource()) then
            cancelEvent(true"Nieuda?o si? po??czy? z baz? danych")
        end
        return nil
    end
    return nil
end
)

addEventHandler("onResourceStop"getResourceRootElement(getThisResource()),
function ()
    if (not MySQLConnectthen
        return nil
    end
    mysql_close(MySQLConnect)
    return nil
end
)

function loginRequest(playerusernamepassword)
    local result mysql_query(MySQLConnect"SELECT * FROM Konto WHERE Login=".. username .." Haslo=".. password)
    if (mysql_num_rows(result) > 0then
        outputChatBox("Zalogowa?e? si? poprawnie."player)
        triggerEvent("onGraczZalogowany"getRootElement())
        triggerClientEvent(player"hideLoginWindow"getRootElement())
        setElementData(player"Zalogowany"1)
    else
        outputChatBox("Nie poprawny Login lub Has?o"player)
    end
end


Kolumny na ss:


Ostatnio zmieniony przez vipSEBOvip 2013-03-28, 15:35, w całości zmieniany 1 raz  
Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-03-28, 15:34


Jacob

Głupiomądry






Wiek: 28
Na forum: 5502 dni
Posty: 967
Nick w MP: Jacob

Piwa: 786

Respekt: 212,3
Respekt: 212,3Respekt: 212,3

Ahh, jestem ?lepy:

function loginRequest(playerusernamepassword)
    local result mysql_query(MySQLConnect"SELECT * FROM Konto WHERE Login=".. username .." AND Haslo=".. password)
    if (mysql_num_rows(result) > 0then
        outputChatBox("Zalogowa?e? si? poprawnie."player)
        triggerEvent("onGraczZalogowany"getRootElement())
        triggerClientEvent(player"hideLoginWindow"getRootElement())
        setElementData(player"Zalogowany"1)
    else
        outputChatBox("Nie poprawny Login lub Has?o"player)
    end
end


Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-03-28, 16:39


vipSEBOvip

A poor begginer






Wiek: 26
Na forum: 5178 dni
Posty: 597
Nick w MP: xSebaPL

Piwa: 77

Respekt: 140
Respekt: 140

Pokazuje si? taki error:


Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-03-28, 17:04


Jacob

Głupiomądry






Wiek: 28
Na forum: 5502 dni
Posty: 967
Nick w MP: Jacob

Piwa: 786

Respekt: 212,3
Respekt: 212,3Respekt: 212,3

Usu? ifa z mysql_num_rows i dodaj if result then, a result zamie? na
local result mysql_query(MySQLConnect"SELECT * FROM Konto")

i zobacz czy w og?le dzia?aj? zapytania.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-03-28, 17:42


vipSEBOvip

A poor begginer






Wiek: 26
Na forum: 5178 dni
Posty: 597
Nick w MP: xSebaPL

Piwa: 77

Respekt: 140
Respekt: 140

Zamieni?em to i zapytania dzia?aj?.

A po drugie przecie? w tym panelu mam jeszcze register, a on dzia?a ;D

Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-03-28, 18:40


vipSEBOvip

A poor begginer






Wiek: 26
Na forum: 5178 dni
Posty: 597
Nick w MP: xSebaPL

Piwa: 77

Respekt: 140
Respekt: 140

Robi?em go na podobie?stwo panelu logowania z Best Playa bo fajnie wygl?da? :)

Postaw piwo autorowi tego posta
 

 
Tagi: [mysql]panel :: logowania
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






Skocz do:  
Wyświetl posty z ostatnich:   
GTAONLINE.PL » JĘZYKI PROGRAMOWANIA » LUA » [MySQL]Panel Logowania 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