parser

/faq/faq
/authors/авторы
/docs/документация

/powered_by_parser/в действии
/feedback/куда говорить
/jargon/жаргон

/download/скачать

/examples/примеры
/forum/форум



Поиск по форуму

По умолчанию ключевое слово ищется только в заголовке сообщения.

Ключевое слово:

Фильтровать по автору:



Предположение...

Luzhnikovskiy | tom@ofm.ru 01.11.2001 12:49

Основа данной проблемы в том, что EXECUTE не возвращает данные в табличной форме ;-)

Зададимся вопросом, как это пофиксить?
Предлагаю такой вариант:
Добавить в таблицу поле LAST_LOGIN, а в процедуру передавать еще одно значение, равное времени запроса. Это время определять парсером и класть в переменную (пусть ^var[login_time].
Вызов типа EXECUTE PROCEDURE LOGIN("glen","swordfish","^var[login_time]")...
Сама ХП должна писать в случае "LOGIN_OK" это время в LAST_LOGIN, иначе оставлять LAST_LOGIN без изменений.
Затем делаем простой SELECT из этой таблицы с WHERE USER_NAME="glen" AND LAST_LOGIN="^var[login_time]"... Если возвернутый контекст пуст - авторизация не прошла, иначе - все хорошо... Что именно селектить? Да хоть то же время или имя пользователя.

Можно и просто селектить LAST_LOGIN у юзера "glen" и сравнивать его с ^var[login_time]... Что больше нравится ;-)

Надеюсь, достаточно ясно выразился ;-)))

<<  Вернуться к списку сообщений


E-mail: mailbox@parser.ruCopyright © 1997-2001 Студия Артемия Лебедева