Сопровождение учебного процесса ПК БГТУ

Дипломная работа - Компьютеры, программирование

Другие дипломы по предмету Компьютеры, программирование



ицу добавления новости, на которой 2 основных компонента: input для ввода заголовка и textarea для текста новости и кнопки добавления новости.

Рисунок 2.3.12 - Панель администратора

При удалении новости пользователь получает предупреждение. Новость будет удалена только в случае подтверждения пользователем.

Рисунок 2.3.13 - Подтверждение удаления новости

Для формирования списка замен была написана JavaScript функция, позволяющая добавлять и удалять новые строки в редактируемой таблице замен.

Рисунок 2.3.14 - Формирование списка замен

При нажатии на кнопку "+" добавляется пустая строка для редактирования. При нажатии на кнопку "-" удаляется лишняя строка.

2.4 Обработка событий и ошибок ввода данных

В программе немного случаем, когда от пользователя требуется ввод какой-либо информации.

Проверка вводимых данных осуществляется на странице регистрации. В базу должны попасть только корректные данные, соответствие которых проверяется с помощью регулярных выражений. Для проверки логина и пароля используется следующее регулярное выражение / [a-z0-9] +/i;, которое означает, что логин и пароль могут содержать в себе только буквы латинского алфавита и цифры.

Проверка электронного адреса на соответствие шаблону осуществляется с помощью регулярного выражения

/ [0-9a-z_] +@ [0-9a-z_^.] +. [a-z] {2,3}/i;

Затем поля Логин, Пароль и Email проверяются на соответствие с помощью JavaScript метода test.

Приведенный ниже участок кода проверяет введенный логин на соответствие регулярному выражению.

if (! reg_name. test (login)) {_msg += "Логин\n";_value = false;

}

Далее идет проверка пароля

if (! reg_name. test (pswd)) {

error_msg += "Пароль\n";_value = false;

}

После чего подобным образом проверяется электронный адрес

if (! reg_mail. exec (email)) {_msg += "E-mail\n";_value = false;

}

Переменная return_value булевого типа принимает значение false в случае некорректного заполнения какого-либо из полей.

error_msg содержит список полей, в которых допущена ошибка. таким образом пользователю будет указаны сразу все ошибочно заполненные поля.

Затем проверяется были ли допущены ошибка при заполнении:

if (! return_value) {(error_msg);

}

Если ошибки допущены, то выводится сообщение функцией alert (error_msg);

Рисунок 2.4.1 - Сообщение об ошибочном заполнении полей

При добавлении новости из административной панели производится проверка наполненности полей. Новость с пустыми полями добавлены не будет. Такой контроль производится на сервере.

if ($new_title == "" || $new_body == "") echo "";

В случае не заполнения какого-либо из полей пользователь получает сообщение.

Рисунок 2.4.2 - Сообщение о незаполненных полях при добавлении новости

2.5 Разработка программного алгоритма

Так как веб-сервис работает с расписание в ПК БГТУ, необходимо занести в базу данных расписание. Расписание добавляется для каждой группы в таблицу raspisanie посредствам SQL запросов.

Прежде чем работать с данными из базы данных, необходимо произвести соединение с БД. Это осуществляется функцией DBConnect ().

function DBConnect () {

Прежде всего создается соединение с базой данных. Для этого вызывается функция mysql_connect со списком параметров, значения которых хранятся в файле config. php

mysql_connect (hostname, username, password) or die ("Ошибка соединения с базой данных");

Затем происходит выборка БД, с которой будет работать система

mysql_select_db (dbName) or die (mysql_error ());

return 0;

}

Функция DBConnect () вызывается в начале каждого файла, в котором производится работа с данными.

Расписание занятий выводится с помощью функций getLessonsWeek ($group) или getLessonsTomottow ($group) которые возвращают таблицу с расписанием на неделю или на завтрашний день соответственно.

Так как в каждой ячейки таблицы raspisanie хранится информация срзу о предметах, преподавателях и аудиториях, необходимо производить разбор этой информации и формировать ее в HTML таболицу.

$stand_less = explode ("|", $response [$k]);

Здесь происходит разбивка на предметы, которые заносятся в нумерованный массив $stand_less, после чего элементы этого массива в цикле разбиваются функцией explode на "Предмет", "Преподавателя" и "№ аудитории"

Ниже приведена циклическая конструкция, которая преобразует строку в массив.

for ($i = 0; $i <= count ($stand_less) - 1; $i++) {

$les = explode (">", $stand_less [$i]);

$res. = "\n";

}

Сформированная таблица возвращается оператором

return $res;

Замены на завтра хранятся в таблице replacement, которую необходимо очищать перед каждым созданием нового списка замен. Очистка таблицы производится следующим SQL запросомTABLE replacement, который выполняется в функции добавления замен AddReplacement ().

В функции AddReplacement () так же вызывается функция Mailing (), которая производит рассылку о заменах.

Mailing () производит выборку электронных адресов пользователей, которые согласились на рассылку при регистрации. Эти адреса заносятся в переменную $to, которая отвечает за адресатов рассылки.

В переменной $subject указан заголовок письма "Замены в рассписании ПК БГТУ"

В переменную $message заносится результат работы функции Replacement (), которая возвращает таблицу с заменами на