Jump to content

Помогите с логином.


Recommended Posts

Пытаюсь сделать вход на сервер. Появляется ошибка, переменная usermane и password пустые, почму так?

Т.е. после нажатия на кнопку Войти гуи пропадает, а в консоле пишет

4555147.png

function LoadGuiLogin() 
    window = guiCreateWindow(0.41, 0.32, 0.17, 0.30, "Авторизация", true) 
    guiWindowSetMovable(window, false) 
    guiSetAlpha(window, 0.79) 
  
    button[1] = guiCreateButton(115, 197, 84, 28, "Реристрация", false, window) 
    button[2] = guiCreateButton(59, 197, 50, 28, "Войти", false, window) 
    input[1] = guiCreateEdit(59, 114, 140, 30, "", false, window) -- логин 
    input[2] = guiCreateEdit(59, 157, 140, 30, "", false, window) -- пароль 
    label[1] = guiCreateLabel(12, 119, 47, 20, "Логин:", false, window) 
    label[2] = guiCreateLabel(10, 162, 49, 15, "Пароль:", false, window) 
    label[3] = guiCreateLabel(12, 22, 194, 77, "Добро пожаловать на сервер, тут описание, но автор сука тупой мудак, лентяй.", false, window) 
  
    guiSetFont(label[3], "default-bold-small") 
    guiLabelSetHorizontalAlign(label[3], "left", false)  
    guiSetVisible(window, false) -- Делает окно невидимым 
    addEventHandler("onClientGUIClick", button[2], clientLogin, false) 
end 
  
function clientLogin(button, state) 
    if button == "left" and state == "up" then 
        local usermane = guiGetText(input[1]) 
        local password = guiGetText(input[2]) 
         
        if usermane and password then 
            triggerServerEvent("submitLogin", getRootElement(), username, password) 
            guiSetVisible(window, false) 
            guiSetInputEnabled(false) 
            showCursor(false) 
        else 
            outputChatBox("Пожалуйста введите логин и пароль") 
        end 
    end 
end 
  

login_server.lua

function serverLogin(username, password) 
    local result = mysql_query(db, "SELECT password FROM user WHERE name='"..username.."'") 
    if (not result) then  
        outputDebugString("Ошибка запроса: (" .. mysql_errno(result) .. ") " .. mysql_error(result)) 
    else 
        row = mysql_fetch_row(result) 
        if (row[password] == password) then  
            outputChatBox("Добро пожаловать на мой сервер.") 
        else 
            outputChatBox("Неверный пароль!") 
        end 
    end 
end 
  

Link to comment

Как добавляли обработчик serverLogin?

На седьмой строке (login_server.lua) у вас ошибка из-за не знания таблиц (не конкретно Lua, они почти везде одинаковые) - найдите её сами.

P.S. Охх... на SQL-инъекцию так и просится... Плюс и пароли не шифрованные в БД как я понял.. Ужас в плане безопасности.

username:

'; UPDATE user SET password = 'LolPass' WHERE name = 'FrostLee'; -- 
-- Ну или чтобы вообще не заморачиваться: 
'; UPDATE user SET password = 'LolPass'; -- 

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...