FrostLee Posted May 13, 2013 Share Posted May 13, 2013 Пытаюсь сделать вход на сервер. Появляется ошибка, переменная usermane и password пустые, почму так? Т.е. после нажатия на кнопку Войти гуи пропадает, а в консоле пишет 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
Kernell Posted May 14, 2013 Share Posted May 14, 2013 Как добавляли обработчик 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
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now