Главная страница

Проект игры. Анализ тз 2 Рассмотрение тз. 2 Глава проектирование веб приложения 6 Диаграммы вариантов использования. 6


Скачать 0.89 Mb.
НазваниеАнализ тз 2 Рассмотрение тз. 2 Глава проектирование веб приложения 6 Диаграммы вариантов использования. 6
АнкорПроект игры
Дата15.01.2023
Размер0.89 Mb.
Формат файлаdocx
Имя файлаgameProject.docx
ТипГлава
#887750
страница3 из 8
1   2   3   4   5   6   7   8

3.2. Реализация GUI преподавателя


На главной странице есть кнопка входа, если внести данные для определенного преподавателя, то откроется личный кабинет.

Система авторизации описана ниже.

include($_SERVER['DOCUMENT_ROOT']."/script-php/link-connect.php");

//Функиция Авторизации
$inp_log_auth = $_POST['inp_log_auth'];

//Проверка Данных пользователя
{
$sql_auth_proverka = "SELECT * FROM `users` WHERE `login` = '$inp_log_auth'";
$result_auth = mysqli_query($conn, $sql_auth_proverka);
$result_auth_array = mysqli_fetch_array($result_auth);

//проверка Логина
if(isset($result_auth)) {

//Проверка Пароля
$inp_pass_auth = $_POST['inp_pass_auth'];
$pass_hash = $result_auth_array['pass'];
if
(password_verify($inp_log_auth, $pass_hash)) {

//Запись в сессию уникального id
session_start();
$_SESSION['action'] = $result_auth_array['id_users'];

echo
"good";
}
else echo "Неверный Пароль!".$pass_hash;
}
else {
echo "Неверный Логин!";
}
}


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



Рисунок 3.3. Главная страница преподавателя.

Страница редактирования теста показана на рис (3.4).



Рисунок 3.4. Редактирование теста.

Запись теста в базу данных. Формирование его в массив для отправки показан в листинге 2.

Работа на стороне браузера(js), описана в листинге 3.

3.3. Реализация GUI Администратора



Администратор может управлять предметами и преподавателями, а так

Изменять главную информацию на сайте с помощью редактора текста на js.



Рисунок 3.4. Панель редактирования.

Так же есть возможность менять главную картинку на сайте с помощью данного кода:


include
($_SERVER['DOCUMENT_ROOT']."/script-php/link-connect.php");

// Название
$input_name = 'file';

// Разрешенные расширения файлов.
$allow = array();

// Запрещенные расширения файлов.
$deny = array(
'phtml', 'php', 'php3', 'php4', 'php5', 'php6', 'php7', 'phps', 'cgi', 'pl', 'asp',
'aspx', 'shtml', 'shtm', 'htaccess', 'htpasswd', 'ini', 'log', 'sh', 'js', 'html',
'htm', 'css', 'sql', 'spl', 'scgi', 'fcgi', 'exe'
);

// Директория куда будут загружаться файлы.
//$path = $_SERVER['DOCUMENT_ROOT']."/";
$path = $_SERVER['DOCUMENT_ROOT']."/src/";


$error = $success = '';

if
(!isset($_FILES[$input_name])) {
$error = 'Файл не загружен.';
}
else {
$file = $_FILES[$input_name];

// Проверим на ошибки загрузки.
if (!empty($file['error']) || empty($file['tmp_name'])) {
$error = 'Не удалось загрузить файл.';
}
elseif ($file['tmp_name'] == 'none' || !is_uploaded_file($file['tmp_name'])) {
$error = 'Не удалось загрузить файл.';
}
else {
// Оставляем в имени файла только буквы, цифры и некоторые символы.
$pattern = "[^a-zа-яё0-9,!@#%^-_\$\?\(\)\{\}\[\]\.]";
$name = mb_eregi_replace($pattern, '-', $file['name']);
$name = mb_ereg_replace('[-]+', '-', $name);
$parts = pathinfo($name);

if
(empty($name) || empty($parts['extension'])) {
$error = 'Недопустимый тип файла';
}
elseif (!empty($allow) && !in_array(strtolower($parts['extension']), $allow)) {
$error = 'Недопустимый тип файла';
}
elseif (!empty($deny) && in_array(strtolower($parts['extension']), $deny)) {
$error = 'Недопустимый тип файла';
}
else {
// Перемещаем файл в директорию.
if (move_uploaded_file($file['tmp_name'], $path . $name)) {
// Далее можно сохранить название файла в БД и т.п.
mysqli_query($conn, "UPDATE `content` SET `img_content`= '$name' WHERE `id`='1'");
$success = '
Файл «' . $name . '» успешно загружен.
'
;
}
else {
$error = '3Не удалось загрузить файл.';
}
}
}
}

// Вывод сообщения о результате загрузки.
if (!empty($error)) {
$error = '
'
. $error . '
'
;
}

$data = array(
'error' => $error,
'success' => $success,
'img_name' =>$name,
);

header('Content-Type: application/json');
echo
json_encode($data, JSON_UNESCAPED_UNICODE);
exit
();

?>


Основной функционал администратора расписан в листингах 4-5.
1   2   3   4   5   6   7   8


написать администратору сайта