Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка.doc
Скачиваний:
6
Добавлен:
05.09.2019
Размер:
1.79 Mб
Скачать

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

В БД имеется таблица tbl_news , имеющая следующую структуру.

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

Настройте, созданный ЭУ на отображение новостей.

В строке Choose Data Source выберите New Date Source, сделайте ссылку на Access DateBase и укажите месторасположение БД, воспользуйтесь ранее созданным запросом

..

Результат работы

Авторизация пользователя

Правая верхняя ячейка предназначена для ввода пароля. Если пользователь авторизирован в сессию добавляется код и имя пользователя. Если сессия пустая выводятся поля для ввода логина и пароля, кнопок <OK> и <Регистрация>. После авторизации эти элементы скрываются и выводится приветствие пользователя, которое до авторизации скрыто.

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

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

В свойство Text метки Label4 введите «Логин».

В свойство Text метки Label5 введите «Пароль».

Поле TextBox1 предназначено для ввода логина.

Поле TextBox2 предназначено для ввода пароля.

Кнопка Button2 предназначена для регистрации.

Кнопка Button1 предназначена для проверки пользователя.

Кодирование главной страницы

Так как проверка пользователя (аудификация) будет осуществляться на главной странице, необходимо подключить соответствующую библиотеку.

Откройте страницу с выделенным кодом и в первой строке добавьте

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

До авторизации После авторизации

Процесс авторизации (кнопка <OK>)

Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click

Dim myuser As String, id As Long

Dim ПОЛЬЗОВАТЕЛЬ_АУТЕНТИФИЦИРОВАН As Boolean = False

' Строка подключения:

Dim СтрокаПодкл As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("Web.mdb")

' Создание экземпляра объекта Connection

Dim CONNECTION = New OleDbConnection(СтрокаПодкл)

Try ' Открытие подключения:

CONNECTION.Open()

Catch ex1 As Exception

Label2.Text = ex1.Message

End Try

' Строка SQL-запроса для проверки имени и пароля:

Dim SQL_запрос As String = "SELECT Iduser FROM S_user WHERE (NameU = '" & TextBox1.Text & "' AND Parol = '" & TextBox2.Text & "')"

' MsgBox(SQL_запрос)

myuser = TextBox1.Text

' Создание объекта Command с заданием SQL-запроса:

Dim COMMAND As New OleDbCommand

COMMAND.CommandText = SQL_запрос

COMMAND.Connection = CONNECTION

Try ' Выполнение команды SQL:

Dim DATAREADER As OleDbDataReader

DATAREADER = COMMAND.ExecuteReader

If DATAREADER.Read = True Then

ПОЛЬЗОВАТЕЛЬ_АУТЕНТИФИЦИРОВАН = True

'определение значения поля

id = DATAREADER.GetValue(0)

Else

ПОЛЬЗОВАТЕЛЬ_АУТЕНТИФИЦИРОВАН = False

Label2.Text = "Неправильное имя или пароль, пожалуйста, зарегистрируйтесь !"

End If

Catch ex2 As Exception

Label2.Text = Label2.Text & "<br>" & ex2.Message

End Try

CONNECTION.Close()

If ПОЛЬЗОВАТЕЛЬ_АУТЕНТИФИЦИРОВАН = True Then

' Направление на уже разрешенную страницу:

'записываем в смессию имя пользователя

Session.Add("nameU", myuser)

Session.Add("IDU", id)

'==========

Me.TextBox1.Visible = False

Me.TextBox2.Visible = False

Me.Label1.Visible = True

Me.Label4.Visible = False

Me.Label5.Visible = False

Me.Button1.Visible = False

Me.Button2.Visible = False

Me.Label1.Text = "Привет " & myuser & "!"

End If

End Sub