Новости | FAQ | Авторы | Документация | В действии | Библиотека |
Инструменты | Полезные ссылки | Хостинги | Скачать | Примеры | Форум |
Sanja v.2 08.03.2005 19:46 / 08.03.2005 19:55
Либо я не замечаю очевидную ошибку, либо оно не работает...@USE lib.p mssql.p my_auth.p @auto[] # Параметры подключения к базе данных MSSQL: $SQL.connect-string[odbc://Driver={SQL Server}^; Server=127.0.0.1^; Database=GFKForum^; # AutoTranslate=no^; UID=sa^; PWD=censored!^; App=Parser^; Language=English^; StatsLog_On=no^; QueryLog_On=no^; Regional=no^; Description=Parser^; Trusted_Connection=no^; ClientCharset=windows-1251^; ] # создаем SQL объект через который будут происходить все обращения к SQL $MAIN:pSQL[^mssql::init[$SQL.connect-string;$.is_debug(1)]] # Подключаем класс авторизации: ^MAIN:pSQL.server{ $auth[ ^my_auth::init[ $cookie:CLASS; $form:fields; $.csql[$pSQL] $.timeout(1) $.event_lifetime(60) $.event_min_count(300) $.additional_fields[^table::create{select update field last_name last_name last_name first_name first_name first_name middle_name middle_name middle_name YEAR(dt_birth) dt_birth photo}] ] ] }Класс-прослойка my_auth.p:
@CLASS my_auth @USE auth.p @BASE auth @init[icookie_data;ilogon_data;iparams] ^BASE:init[$icookie_data;$ilogon_data;$iparams] ######################################## # Переопределенный метод Logon # @htmlFormLogon[in_params][lparams] # ... # ... ## End @htmlFormLogon # коды ошибок @getErrors[] $result[^table::create{id name 1 Вы не авторизовались 2 Вы не указали имя для регистрации 4 Выбранное вами имя уже существует 8 Вы не указали пароль 16 Введённые пароли не совпадают 32 Вы не указали Email-адрес 64 Похоже, что указанный вами Email неверен 128 Пользователь не наден 256 Найдено сразу несколько пользователей 32768 Неизвестная ошибка }] #end @getErrors[]В auth_mssql.sql добавил нужные столбцы. К себе, единственному пользователю, в поле first_name и last_name вписал букв от балды. Теперь вызываем тестовый файлик auth.html
@USE my_auth.p @main[] <p> <b>Информация о пользователе:</b><br /> Логин: $auth.user.name<br /> Test1: $auth.first_name <br /> Test2: $auth.last_name <br /> </p>Вызываю http://127.0.0.1/auth.html?mode=debug и получаю:
Информация о пользователе: Логин: Sanja Test1: Test2: Sanjaсмотрю на последние две строки и удивляюсь. Лезу в sql.txt и нахожу там: