Программирование >>  Руководство по созданию web приложений 

1 ... 51 52 53 [ 54 ] 55 56 57 ... 141


154 Базы в Интернете. Практическое руководство

На следующем этапе сценарий создает объект Command, для

выполнения щкчшмои процедуры аутентификации var

= ClientLogin ; = connect;

процедура ClientLogin имеет два входных : (идентифи-

катор и пароль посетителя) и один выходной (результат аутентификации).

параметры определяются в объекте Command следующим образом;

adVarChar, Pass , adVarChar, adParamlnput, 50, .

Имена параметров указаны как и Pass. Это текстовые строки, тип параметров мы указываем KaKadVarChar. adParamlnput определяет,

что параметры User и Pass являются входными. Длина текстовых строк, передаваемых через данные параметры, не превышает 50 байт. И наконец, значения параметров берутся из sUser и sPassword.

Выходной параметр определяется аналогичным образом, но с применением константы v,i: ParamOut =

adVarChar, 50, ),

После формирования параметров они добавляются к команде метолом Append, чего команда при помощи метода Execute:

cmd.

Если в создания с источником данных,

команды и ее параметров, а также при . команды возникло ника-

ких ошибок, закрывается методом Close:

Строго говоря, можно не закрывать соединение подобным образом, так как после того как пользователь обратится к другой странице, оно будет автоматически закрыто. Однако это может произойти не сразу

20 минут), поэтому для ресурсов сервера sql Server мы закры-

ваем соединение явным образом.

Далее мы проверяем значение, полученное от хранимой процедуры Client-iLogin через параметр ParamOut.

Если пользователя прошла успешно, в этом . бу-

дет находиться значение, отличное от null. В этом сдзгае мы сохраняем в менных сеанса результат аутентификации, признак успешной идентификации и идентификатор а затем передаем управление странице

!= null)



else

Переменная с Rights никак не нашим приложе-

нием, хотя Вы можете применить ее для дифференциации посетителей. В этом случае в таблице clients Вы можете предусмотреть поле Rights и в нем

права , , устанавливая их в зависимости от тех или иных условий.

пользователи, сделавшие покупки на суммы, могут

доступ к страницам Вашего магазина.

Содержимое переменной сеанса Ок проверяется перед отображением всех страниц приложения покупателя, кроме страниц аутентификации и регистрации. В результате мы исключаем возможность прямого к этим страницам для

пользователей, не прошедших аутентификацию.

И наконец, сеанса IJserlO идентифицирует покупателя и исполь-

зуется, для формирования его персональной корзины.

При неудачной аутентификации содержимое указанных переменных сеанса а пользователю выдается страница с о необходимости

Обработка ошибок

В том сл5Д1ае, когда при обрагцении к базе данных возникли ошибки, мы их обрабатываем в блоке catch. Использованная при этом методика была описана поэтому здесь мы только скажем, что сообщение об ошибке передается

При этом через ERROR мы передаем имя файла страницы, в которой

произошла ошибка, а в переменной - сообщение об ошибке, подготовлен-

ное в блоке catch.

Исходный текст страницы error.asp показан в 4-9.

Листинг 4-9 Вы найдете в файле ch4\BookShopClient\error.asp на прилагаемом к книге компакт-диске.

Здесь мы информируем посетителя о том, что произошла ошибка в приложении, для исправления которой необходимо вмешательство администратора сервера Web. Далее отображается иа.чаушг страницы, в которой произошла ошибка, и текст сообщения об ошибке:

- ..... в ..... .

<р>Обратитесь к администратору сервера Web. </р>

Па рис. 4-27 показано сообщение, появляющееся в том случае, если Вы пытаетесь создать соединение с несуществующим источником данных.



Ошибки 1!

not found and no driver

ej Done

Рис. 4-27. Сообщение об ощибке при соединении с источником данных

Другое сообщение появится в случае, если Вы назначить права до-

ступа к хранимой процедуре:

SQL Server . . ; : . permission

Viiil 11 iili] i+ - - . database -- Wni

Кстати, если мы вовсе опустим обработку ощибок на странице enter.asp, то ощибка все равно будет обработана, но уже системой интерпретации страниц ASP. При этом в случае, например, с г прав на выполнение хранимой про-

цедуры в окне браузера посетителя появится . показанное на рис. 4-28.

MS] -

OLE tor ODBC eiKil

SQL - otl

owtiei

Рис. 4-28. Сообщение об ошибке, отображаемое :- : .ASP

Хотя OHO содержит даже больще iilie нужно для отладки стра-

ницы (дополнительно отображается номер строки, в которой произошла ошибка), пользователю оно будет непонятно. Мы можем , : пользователю те или иные действия в зависимости от логики работы приложения или от того, где возникла ошибка, а также в ряде случаев полностью ликвидировать ее последствия . от пользователя.

Хранимая працецурд ClientLogin

Теперь мы расскажем Вам о том. как устроена хранимая . ClientLogin,

которая вызывается из сценария enter.asp и выполняет аутентифика-

цию пользователей мш посетителей магазина.



1 ... 51 52 53 [ 54 ] 55 56 57 ... 141

© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика