Практическое занятие
Авторизация и регистрация пользователя
Задание 1. Выполните авторизацию пользователя.
(Видео выполнения данного задания с подробными пояснениями приведено по ссылке https://youtu.be/hhsGuU0JXy4)

Пусть в базе данных имеются данные по зарегистрированному пользователю – его логин и пароль. На главной странице выводится форма для заполнения полей с логином и паролем и имеются кнопки Войти и Зарегистрироваться.
Если пользователь вводит логин и пароль, который уже записан в базе данных, то происходит переход на страницу пользователя. Если пользователь вводит логин и пароль, которого нет в базе данных (т.е. это означает, что пользователь не зарегистрирован), то происходит выдача текстового сообщения, что пользователь не зарегистрирован или допустил ошибку в пароле или логине.
Передачу данных пользователя (логина и пароля) и их обработку выполнить с помощью ajax-запроса.
Выполнение задания 1:
1) Создайте базу данных use с помощью phpMyAdmin. Далее таблицу info со следующими полями: id (идентификатор пользователя, auto_increment), login (varchar, длина поля 30 символов) и pass (varchar, длина поля 40 символов).
2) Создайте структуру главной страницы index.php, разместите на ней форму с двумя полями (логином и паролем) и двумя кнопками Войти и Регистрация.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Авторизация</title>
<!—подключение стилей-->
<link rel="stylesheet" href="style.css">
</head>
<body>
<!--Это форма авторизации-->
<form>
<input
type="text" name="login" class="input"
placeholder="Введите логин">
<input
type="password" name="pass" class="input"
placeholder="Введите пароль">
<input
type="submit" value="Войти"
name="enter" class="submit" >
<input
type="submit" value="Регистрация"
name="regist" class="regist">
<div
id="error"></div>
</form>
</body>
</html>
3) Задайте стилевое оформление для формы авторизации. Для этого создайте файл со стилями style.css.
Стили страницы style.css:
form{
margin: 0 auto;
width: 300px;
height: 220px;
background-color: rgb(224, 255, 255);
}
.input{
margin: 20px 20px 5px 20px;
width: 250px;
height: 40px;
border: 1px solid rgb(100, 255, 255);
text-align:
center;
color: black;
font-weight: 600;
background-color: rgb(245, 245, 245);
}
.submit{
margin: 10px 0
10px 20px;
width: 80px;
height: 40px;
border: 1px solid rgb(100, 255, 255);
text-align:
center;
color: black;
font-weight: 600;
float: left;
background-color: rgb(100, 255, 255);
}
.regist{
margin: 10px 23px
10px 0;
width: 150px;
height: 40px;
border: 1px solid rgb(100, 255, 255);
text-align:
center;
color: black;
font-weight: 600;
float: right;
}
#error{
margin: 5px 20px;
width: 250px;
height: 40px;
text-align:
center;
color: rgb(255,0,0);
font-size: 10pt;
display: none;
}
4) В разделе head подключите библиотеку jquery.js командой
<script src="jquery.js"></script>
Далее пишем теги для скрипта:
<script type="text/javascript">
Здесь будем записывать весь код
страницы index.php
<script>
Код скрипта:


Код страницы ajax.php:

Пример 2. Усовершенствуем предыдущий пример. Проведем валидацию полей –запретим оставлять поля пустыми. Проверку на пустоту полей выполним на странице ajax.php
(Видео выполнения данного задания с подробными пояснениями приведено по ссылке https://youtu.be/vAFYL0Xwo8c)
1) В файл со стилями style.css добавьте класс
.field_error{
border-bottom: 1px solid red;
}
Этот класс будем назначать тем полям, которые окажутся пустыми.
2) Внесите изменения в файл index.php и ajax.php
Функция со страницы index.php:

Код страницы ajax.php:



Пример 3. Выполните регистрацию пользователя. Доработайте предыдущий пример – напишите обработчик для кнопки Регистрация.
(Видео выполнения данного задания с подробными пояснениями приведено по ссылке https://youtu.be/vAFYL0Xwo8c)
По нажатию на кнопку Регистрация на главной форме пользователя перенаправляет на страницу с формой регистрации regist.php, в которой пользователь может заполнить поля Фамилия, Имя, Логин, Пароль.
Для текстовых полей необходимо выполнять проверку на пустоту; если поле пустое, то выделить его красным цветом (как и в форме авторизации).
Если пользователь ввел логин такой, какой уже есть в БД, то нужно выдать сообщение о том, что такой логин уже существует и выделить поле с логином красным цветом.
Если пользователь ввел корректные данные, то происходит запись данных пользователя в БД. И с помощью записанного логина и пароля можно авторизоваться.
Форма регистрации может иметь такой вид:

1) Для реализации регистрации пользователя внесите изменения в структуру базы данных – добавьте поля Фамилия и Имя. Т.е. таблица info будет иметь следующие поля: id (идентификатор пользователя, auto_increment), name (varchar, длина поля 30 символов), surname (varchar, длина поля 30 символов), login (varchar, длина поля 30 символов) и pass (varchar, длина поля 40 символов).
Таблица базы данных, которая хранит информацию о зарегистрированном пользователе имеет следующую структуру:

2) На странице index.php допишите в скрипт следующую функцию:
//если
нажата кнопка Регистрация
$('[name="regist"]').bind("click", function(){
//отправляем пользователя на страницу профиля
window.location.href='regist.php';
//отменяем отправку данных формы на сервер
return false;
})
3) Создаем копию страницы index.php, называем ее regist.php
4) Создаем файл стилей style2.css для оформления формы регистрации и подключаем его на странице regist.php в разделе head:
<link rel="stylesheet" href="style2.css">
5) Код страницы регистрации regist.php:


6) Для обработки формы со страницы регистрации создадим страницу ajax2.php для выполнения ajax-запроса.
Код страницы ajax2.php:


