Сопровождение учебного процесса ПК БГТУ
Дипломная работа - Компьютеры, программирование
Другие дипломы по предмету Компьютеры, программирование
ицу добавления новости, на которой 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 (), которая возвращает таблицу с заменами на