Скачиваний:
1
Добавлен:
08.07.2024
Размер:
389.32 Кб
Скачать

ГУАП

КАФЕДРА № 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

Соседние файлы в предмете Проектирование информационных систем