Поддержка сайта

Высокие позиции в поисковой системе, на прямую зависят от развития вашего сайта.

Продвижение сайтов

Эффективность стратегий продвижения подтверждается сотрудничеством с крупными клиентами и отзывами о нашей работе.

Создание сайтов

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

Построение выходной проверки

Страница выходной проверки (checkout page) — checkout.asp — одна из наиболее важных страниц, поскольку здесь вводятся сведения об адресах и кредитных карточках. Хорошая архитектурная основа позволит предложить стабильное решение.

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

Связывание выходной проверки с корзиной

1. Сформируем новую страницу checkout.asp для сбора данных выходной проверки. Откройте в Visual InterDev проект JoCoffee и создайте новую ASP-страницу checkout .asp. Скопируйте в нее содержимое шаблона.

2. Добавьте в basket.asp следующий код:

 Построение выходной проверки

После обновления страницы на ней появится ссылка, обеспечивающая переход к выходной проверке:

 Построение выходной проверки

Блок-схема выходной проверки

В нашем административном коде используется select case request ("action") для изменения поведения страницы в зависимости от ее назначения. Этот же метод позволяет реализовать в checkout.asp следующий алгоритм:

 Построение выходной проверки

Шаг 1 — Ввод адреса электронной почты и пароля

В соответствии с блок-схемой сначала нужно получить адрес электронной почты и пароль покупателя. В мире электронной коммерции почтовый адрес необходим для общения с покупателем в процессе обслуживания заказа. Пароль потребуется только в том случае, если на страницу возвращается покупатель, однажды уже выполнявший процесс выходной проверки.

Создание формы для получения адреса электронной почты и пароля

1. Добавьте в верхнюю часть checkout.asp код:

 Построение выходной проверки

2. Создайте форму для получения адреса электронной почты и пароля, добавив в checkout.asp следующий код:

 Построение выходной проверки

Описание работы

Добавив несколько элементов, попытаемся выполнить выходную проверку корзины (не забудьте сначала запустить проект WroxCommerce). Мы получим:

Построение выходной проверки

 

Непосредственно перед закрытием формы вставлено поле HIDDEN с именем logoncustomer: <input type=hidden name=logoncustomer value=l>

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

Кроме того, необходим метод, который уведомит пользователя о проблемах (ошибках), связанных с неправильными действиями. Это реализуется через переменную problem, в нее можно занести описание проблемы, возникшей у посетителя. Мы уже добавили эту переменную, теперь заставим ее что-нибудь делать.

Использование переменной problem

1. Добавьте в начало страницы checkout. asp:

 Построение выходной проверки

Описание работы

Код AddToProblem позволяет уведомить об имеющейся проблеме. Существует несколько точек возникновения ошибок, когда можно сообщить пользователю о потере или некорректном вводе данных в форму. Функция помогает показать проблему — для этого добавлен тег br в конец первой строки кода. Например, если пользователь не укажет ни City (город), ни Region (область), можно будет вывести:

You must enter a city.<br> You must enter a region.

Использование этой функции показано ниже.

Код Visual Basic для регистрации пользователя

Напишем код Visual Basic, реализующий регистрацию (вход в систему) во время выходной проверки и проверяющий корректность пароля для указанного адреса электронной почты, Если введен новый почтовый адрес, создается новый покупатель.

Добавление кода Visual Basic для регистрации пользователя

1. Добавьте в объект visit свойства получения и установки идентификатора покупателя:

 Построение выходной проверки

2. Теперь нужно запросить у объекта Customers подтверждение покупателя и возвращение любых возникших при этом проблем. Если все пройдет успешно, объект Customers должен сохранить в сеансе ASP идентификатор текущего покупателя. Ранее мы изменили метод Configure объекта Visit, реализовав получение идентификатора покупателя из сеанса при каждом вызове метода. В результате регистрация покупателя на сайте будет сохраняться до закрытия браузера, тайм-аута сеанса или явного выхода из системы.

Добавьте в объект Customers проекта VB:

 Построение выходной проверки

Построение выходной проверки

 

3. Добавьте в объект Customers функцию, которая создает нового покупателя:

 Построение выходной проверки

Описание работы

Начнем с функции CheckLogon.

Первое, что мы делаем, это выбираем в таблице Customers по указанному адресу электронной почты. Предполагается, что каждый покупатель имеет уникальный почтовый адрес. Функция Replace формирует запрос, предотвращающий крах кода в случае ввода пользователем символов апострофа:

He получив строки, мы предполагаем, что почтовый адрес некорректен, и запрашиваем у пользователя повторный ввод адреса, возвращая ему сообщение об ошибке через параметр Problem и ранее объявленную переменную problem:

Problem = "There is no customer with the e-mail address you specified."

Если строка получена, значит, есть покупатель с данным почтовым адресом. Остается только проверить пароль. Функция LCase используется для сравнения без учета регистра, Если указанный пароль совпадет, то с помощью свойства CustomerlD объекта Visit установим текущего покупателя. Это действие обновляет не только закрытую переменную mCustomerlD объекта visit, но и сеансовые переменные:

If LCase(Password) = LCase(guery("password")) Then m_utility.Visit.CustomerlD = query("customerid") CheckLogon = True

Else

Problem = "The password you entered is invalid." End If

Функцией CreateCustomer создается новый покупатель, если введен не известный ранее почтовый адрес (который мы считаем уникальным идентификатором покупателя). Используется та же проверка, что и в CheckLogon. Для уникального адреса формируется новая строка в таблице Customers:

Set query = m_utility.DB.DB.Execute("select * from customers " &

"where email= ‘ " & Replace (EMail, " ‘ ", " ■  ‘ " > &…..)

If query.EOF Then

Dim NewCustomer As New Recordset

NewCustomer.Open "select * from customers", m_utility.DB.DB,

adOpenKeyset, adLockOptimistic NewCu stomer.AddNew

NewCustomer("email") = EMail

NewCuetomer.TJpdate

В данный момент нам известен только адрес электронной почты покупателя. CreateCustomer не устанавливает свойство CustomerlD объекта visit — это делается в коде ASP.

Код ASP для регистрации пользователя

После доработки объектной модели WroxCommerce для выполнения регистрации покупателей, можно перейти к изменению кода ASP. Перед нами стоят две задачи:

□ Проверить ввод пользователем необходимой информации.

□ Реализовать трюк с кнопками переключателя. Если пользователь не укажет "I am a returning customer" (я уже регистрировался ранее), но введет пароль, мы попытаемся зарегистрировать его, как существующего покупателя.

Читайте так же:
Not found

Нам доверяют

Интернет магазин