
LR_6
.pdfГУАП
КАФЕДРА № 14
ОТЧЕТ ЗАЩИЩЕН С ОЦЕНКОЙ
ПРЕПОДАВАТЕЛЬ
ст. препод. |
|
|
|
Н. В. Барклаевская |
|
|
|
|
|
|
|
|
|
|
должность, уч. степень, звание |
|
подпись, дата |
|
инициалы, фамилия |
ОТЧЕТ О ЛАБОРАТОРНОЙ РАБОТЕ №6
Создание сайта с использованием технологии ASP.NET. Часть 3. Реализация личного кабинета пользователя
по курсу: ПРОЕКТИРОВАНИЕ ИНФОРМАЦИОННЫХ СИСТЕМ
РАБОТУ ВЫПОЛНИЛ |
|
|
|
|
|
|
СТУДЕНТ ГР. № |
4017 |
|
|
|
Т. А. Михайлова |
|
|
|
|
|
|
|
|
|
|
|
|
подпись, дата |
|
инициалы, фамилия |
Санкт-Петербург, 2023г.

Задачи:
Регистрация пользователя. Авторизация пользователя.
Выполнение работы:
1)Сначала была реализована авторизация пользователя. Для этого был изменен блок авторизации в шаблоне страниц для пользователя MasterPage.master, а точ-
нее были добавлены ЭУ label (рисунок 1).
Рисунок 1 – Измененная форма авторизации Для правильного функционирования блока авторизации была создана процедуры
нажатия кнопок «Войти» и «Выйти». Результат созданных процедур представлен на рисунках 2-4. Код процедур отображен в листинге 1.
Рисунок 2 – Ввод логина и пароля
Рисунок 3 – Отображение страницы при корректной авторизации
Рисунок 4 – Отображение при некорректном вводе данных
2

2)Далее была реализована форма регистрации пользователя. Сначала были добав-
лены специальные ЭУ (валидаторы), точнее CompareValidator и RequiredFieldValidator. На рисунке 5 представлена страница регистрации с вали-
даторами в конструкторе. А код страницы регистрации отображен в листинге 2.
Рисунок 2 – Страница «регистрации» с использованием валидаторов Для корректного функционирования страницы регистрации была добавлена про-
цедура нажатия кнопки «Зарегистрироваться». Результат созданной процедуры представлен на рисунке 3-6.
Рисунок 3 – Результат процедуры при корректном вводе данных
Рисунок 4 – Добавление нового пользователя в базу данных
3

Рисунок 5 – Отображение сообщений об ошибке при некорректном заполнении
Рисунок 6 – Отображения сообщения об ошибке при несовпадении полей
«Пароль» и «Повторите пароль»
Вывод:
Во время выполнения данной лабораторной работы были получены навыки создания процедур нажатия кнопок, добавление данных с помощью SQL запросов, работы со специ-
альными ЭУ (валидаторами). Также была улучшен блок авторизации и страница регистра-
ции клиентов.
4

Листинг 1 – шаблон страницы MasterPage.master.cs
using System;
using System.Collections.Generic; using System.Linq;
using System.Web; using System.Web.UI;
using System.Web.UI.WebControls; using System.Data.OleDb;
public partial class MasterPage : System.Web.UI.MasterPage
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void LinkButton6_Click(object sender, EventArgs e)
{
Response.Redirect("AboutUs.aspx");
}
protected void Button1_Click(object sender, EventArgs e)
{
string connectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Stomat\\Clinic.accdb";
var connect = new OleDbConnection(connectionString); connect.Open();
string sparol, slogin;
sparol = Convert.ToString(TextBox2.Text); slogin = Convert.ToString(TextBox1.Text);
string sqlQ1 = "SELECT * FROM patient WHERE login_P='" + slogin + "' AND password_P='" + sparol + "'";
string sqlQ2 = "SELECT * FROM medical_staff WHERE login_M='" + slogin + "' AND password_M='" + sparol + "'";
var mycom = new OleDbCommand(); var mycom1 = new OleDbCommand(); mycom.CommandText = sqlQ1; mycom1.CommandText = sqlQ2; mycom.Connection = connect; mycom1.Connection = connect; OleDbDataReader myread; OleDbDataReader myread1;
myread = mycom.ExecuteReader(); myread1 = mycom1.ExecuteReader(); if (myread.Read() == true)
{
Session["IdU"] = slogin;
Session["IdP"] = Convert.ToString(myread.GetValue(0)); TextBox1.Visible = false;
TextBox2.Visible = false; Label4.Visible = false; Label3.Visible = false; Label2.Visible = false; Button1.Visible = false; Button2.Visible = true; Button4.Visible = false; Label1.Visible = true;
Label1.Text = "Привет " + slogin + "!";
}
else
{
if (myread1.Read() == true)
{
Session["IdU"] = slogin;
5

Session["IdP"] = Convert.ToString(myread1.GetValue(0)); TextBox1.Visible = false;
TextBox2.Visible = false; Label4.Visible = false; Label3.Visible = false; Label2.Visible = false; Button1.Visible = false; Button2.Visible = true; Button4.Visible = false; Label1.Visible = true;
Label1.Text = "Привет " + slogin + "!";
}
else
{
Label2.Visible = true;
Label2.ForeColor = System.Drawing.Color.Red; Label2.Text = "Неправильно введен логин или пароль";
}
}
connect.Close();
}
protected void Button2_Click(object sender, EventArgs e)
{
Session.Clear(); TextBox1.Visible = true; TextBox2.Visible = true; Label1.Visible = false; Label2.Visible = false; Label3.Visible = true; Label4.Visible = true; Button1.Visible = true; Button2.Visible = false; Button4.Visible = true;
}
}
Листинг 2 – Страница регистрации Registration.aspx.cs
using System;
using System.Collections.Generic; using System.Linq;
using System.Web; using System.Web.UI;
using System.Web.UI.WebControls; using System.Data.OleDb;
public partial class Registration : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button4_Click(object sender, EventArgs e)
{
string connectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Stomat\\Clinic.accdb";
var connect = new OleDbConnection(connectionString); connect.Open();
string sSurname, sName, sPatronymic, sLogin, sPassword; sSurname = Convert.ToString(Surname.Text);
sName = Convert.ToString(Name.Text);
6

sPatronymic = Convert.ToString(Patronymic.Text); sLogin = Convert.ToString(Login.Text);
sPassword = Convert.ToString(Password.Text); var mycom = new OleDbCommand(); mycom.Connection = connect;
string sqlQ;
sqlQ = "INSERT INTO patient([surname_P], [name_P], [patronymic_P], [password_P], [login_P]) " +
"VALUES('" + sSurname + "','" + sName + "','" + sPatronymic + "','" + sPassword + "','" + sLogin + "')";
mycom.CommandText = sqlQ; mycom.ExecuteNonQuery(); connect.Close();
}
}
7