Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

MyDC.ru _ Kорзина _ От: Создание динамических страниц с помощью Lua

Автор: Saymon21 22.5.2011, 21:13

мда, всётаки на простом но в эту сторону запинаюсь.
Пробую с простых вещей:

Форма запроса

Код
dofile("lib/web.lua")
echo("<meta http-equiv=\"Content-Language\" content=\"ru\">")
echo("<meta charset=\"windows-1251\""))
echo([[<HTML>
<HEAD>
<TITLE>Hello world!</TITLE>
</HEAD>
<BODY>
<FORM ACTION="showinfo.lua" METHOD="POST">
<B>Введите IP:</B><br>
<TEXTAREA Name="ip_address" COLS="30" ROWS="1"></TEXTAREA><p>
<P>
<INPUT name=Submit type=submit value="Послать запрос"><BR>
<INPUT name=Reset type=reset value="Сброс">

</FORM>
</BODY>
</HTML>]])



Получение инфы об IP из CustomLocations
Код
require ("luasql.mysql")
local env = luasql.mysql()
conn = env:connect(tMySQL.DB,tMySQL.User,tMySQL.Pass,tMySQL.Host,tMySQL.Port)
conn:execute("SET NAMES "..tMySQL.Charset)

function string.iptonumber(ip)
    local i1, i2, i3, i4 = ip:match("^(%d+)%.(%d+)%.(%d+)%.(%d+)$")
    if i1 then
        return i1*16777216+i2*65536+i3*256+i4
    end
end

function ip_getinfo(ip)
    if ip then
        ip = ip:iptonumber()
    end
    local res = assert(conn:execute("SELECT * FROM "..tMySQL.Prefix.."providers WHERE "..ip..
                " BETWEEN `start_ip` AND `end_ip` LIMIT 1")
                ):fetch({}, "a")
        if res then
            return res.country,res.name,res.site, res.city
        else
            return "n/a"
        end
end


И сам скрипт, будем называть showinfo.lua
Код
dofile("lib/web.lua")
dofile("lib/IPUtils.lua")

local info = ip_getinfo(_POST.ip_address)
if info then
echo("Информация об IP адресе: "..info.country)
end

При обращении к showinfo.lua получаю ошибку 500. Почему?