Информационная система "Успеваемость студентов"

Разработка информационной системы для хранения информации о результатах экзаменов студентов. Описание сервисов, разработка логической и физической модели системы. Выбор системы хранения данных. Схема работы сервиса, принципы безопасности доступа.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 09.09.2012
Размер файла 560,6 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Министерство транспорта Российской Федерации

Федеральное агентство морского и речного транспорта

Федеральное Государственное Общеобразовательное Учреждение

Высшего Профессионального Образования

"Новосибирская государственная академия водного транспорта"

Электромеханический факультет

Кафедра: Информационных систем

ПОЯСНИТЕЛЬНАЯ ЗАПИСКА

к курсовому проекту по дисциплине

Корпоративные информационные системы

на тему: Информационная система «Успеваемость студентов»

Студент группы ИТ-41

Кривой А.Л. ____________

Руководитель проекта

ст. преподаватель

____________________ А. С. Марченко

« _ » _______________ 201 ___ г.

Новосибирск 2012

Содержание

ВВЕДЕНИЕ

1. Разработка концептуальной модели

1.1 Описание предметной области

1.2 Инфологическая модель предметной области

2. Разработка логической модели

2.1 Описание сервисов

2.2 Выбор архитектуры

3. Разработка физической модели

3.1 Уровень представления данных

3.2 Уровень данных

3.3 Нормализация

3.4 ER - диаграмма

3.5 Выбор системы хранения

4. Бизнес процессы

5. Принципы безопасности

ЗАКЛЮЧЕНИЕ

СПИСОК ИСПОЛЬЗУЕМОЙ ЛИТЕРАТУРЫ

ПРИЛОЖЕНИЕ 1

ПРИЛОЖЕНИЕ 2

ПРИЛОЖЕНИЕ 3

ПРИЛОЖЕНИЕ 4

ПРИЛОЖЕНИЕ 5

информационная система данные хранение

ВВЕДЕНИЕ

Использование информационных систем значительно упрощает и ускоряет процесс работы, сокращаются ее объемы, появляется возможность более оперативных решений. Сегодня информационные системы используются практически во всех сферах жизни человека: коммерческая деятельность, торговля и бизнес.

Информационная система - это система, реализующая информационную модель предметной области, чаще всего - какой - либо области человеческой деятельности. Информационная система должна обеспечивать: получение (ввод или сбор), хранение, поиск, передачу и обработку информации.

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

Между потребителем и информационной системой может быть установлена обратная связь. В этом случае информационная система называется замкнутой. Канал обратной связи необходим, когда нужно учесть реакцию потребителя на полученную информацию.

Информационная система состоит из баз данных, в которых накапливается информация, источника информации, аппаратной части ИС, программной части ИС, потребителя информации.

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

1. Разработка концептуальной модели

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

1.1 Описание предметной области

Система должна собирать и хранить информацию

по студентам:

· Фамилия

· Имя

· Отчество

· Телефон

· Адрес проживания

· Дата рождения

· Курс

по преподавателям:

· Фамилия

· Имя

· Отчество

· Логин

· Пароль

по дисциплинам:

· Название

· Семестр

по факультетам:

· Название

по ведомостям:

· Студент

· Преподаватель

· Дисциплина

· Оценка

Существует три уровня пользователей системы:

· Преподаватель - имеет право вносить данные в ведомость

· Студенты - имеет право на просмотр данных из ведомости

· Администратор - имеет право создать нового пользователя, добавить новую дисциплину, удалять и изменять информацию пользователей и дисциплин

Студент может:

· Просматривать оценки из ведомости

· Просматривать свои оценки через поиск

Преподаватель может:

· Заполнить ведомость

· Из ведомости формировать отчет успеваемости студентов

Администратор может:

· Добавить нового пользователя

· Изменить информацию о пользователе

· Просматривать информацию пользователя

· Удалить пользователя

· Добавить студента

· Изменить информацию о студенте

· Просматривать информацию студента

· Удалить студента

· Создать новую дисциплину

· Удалить дисциплину

· Изменить информацию о дисциплине

Задачи системы:

Основным назначением системы является автоматизация ввода и хранения отчетных данных по студентам. В системе можно изменять, добавлять, удалять, просматривать и хранить информацию о студентах и дисциплинах.

1.2 Инфологическая модель предметной области

Инфологическая модель (информационно-логическая модель) -- ориентированная на человека и не зависимая от типа СУБД модель предметной области, определяющая совокупности информационных объектов, их атрибутов и отношений между объектами, динамику изменений предметной области, а также характер информационных потребностей пользователей (см. рис. 1).

Таблица 1 - Словарь данных

№ п/п

Название объекта

Описание объекта

1

Администратор

Специалист по обслуживанию баз данных и информационных систем

2

Студент

Учащийся в высшем учебном заведении или колледже

3

Преподаватель

Сотрудник, работающий в высшем учебном заведении или колледже

4

Дисциплина

Отрасль знаний, которая преподается или исследуется в высших учебных заведениях

5

Факультет

Оценка знаний человека

Учебно-научное и административное структурное подразделение высшего учебного заведения

6

Отчет

Документ учета, составленный в виде списка

Сообщение по определённому вопросу, основанное на привлечении документальных данных

7

Ведомость

Документ учета, составленный в виде списка

8

Учебный курс

Отрезок времени обучения

9

Экзамен

Оценка знаний человека

Таблица 2 - Функциональные требования

№ п/п

Название функции

Назначение функции

1

Добавление пользователя

Добавление в базу данных информации о новом преподавателе

2

Изменение информации

о пользователе

Редактирование данных пользователя

3

Просматривание

информации пользователя

Просматривание информации пользователя

4

Удаление пользователя

Удаление пользователя

5

Добавление студента

Добавление в базу данных информации о новом студенте

6

Изменение информации

о студента

Редактирование данных студента

7

Просматривание

информации студента

Просматривание информации студента

8

Удаление студента

Удаление студента

9

Добавление дисциплины

Добавление в базу данных информации о новой дисциплине

10

Изменение информации

о дисциплине

Изменение информации дисциплины

11

Просматривание

информации дисциплины

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

12

Удаление дисциплины

Удаление дисциплины

13

Добавление записи в ведомость

Добавление в базу данных новой записи ведомости.

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

Рис. 1 - Инфологическая модель предметной области для системы данных по студентам

2. Разработка логической модели

Логическая модель предназначена для описания решения в терминах организации, структуры и взаимодействия различных её частей с точки разработчика. Логическая модель, в общем виде:

· определяет составляющие части решения;

· описывает рабочую среду, в которой все части решения собираются в одно целое;

· иллюстрирует, из чего собирается решение и как оно взаимодействует с пользователями и другими решениями.

2.1 Описание сервисов

Достоинства модульности:

· Такие программы легко проектировать и отлаживать. Функциональные компоненты такой программы могут быть написаны и отлажены отдельно друг от друга.

· Программы легко сопровождать и модифицировать. Изменение одного компонента не требует изменения всех компонентов.

Размещено на http://www.allbest.ru/

Рис. 2 - Блок-схема модульности

2.2 Выбор архитектуры

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

Размещено на http://www.allbest.ru/

Рис. 3 - Трехуровневая архитектура системы

Оба пользовательских сервиса относятся к уровню представления. Сервис формирования данных для представления тоже относится к уровню представления. Бизнес сервисы и сервис верификации пользовательских данных относится к уровню бизнес - логики. Все остальные сервисы относятся к уровню доступа к данным.

3. Физический дизайн

На этапе физического дизайна решается ряд задач:

· Выявить наиболее подходящие технологии. В процессе физического дизайна проектная команда оценивает технологии и определяет оптимальные для разрабатываемого решения.

· Преобразовать логический дизайн в модели физического дизайна. Выполнял эту работу, команда на основе результатов логического дизайна создает гибкую спецификацию с указанием компонентов. Так, приложение описывается с точки зрения разработчиков, что позволяет приступить к разработке продукта, удовлетворяющего требованиям.

· Создать базовую версию, основу для начала разработки. Помимо моделей и стратегий команда определяет роли и обязанности разработчиков, а также процессы.

3.1 Уровень представления данных

Браузеры, для связи и общения с сервером используют языки гипертекстовой разметки, такие как HTML - технологию web - дизайна. Достоинства HTML:

· Язык очень прост.

· Язык достаточно гибок, чтобы работать с некоторыми из инструментов активного программирования ( PHP и JavaScript ).

· Язык после постоянных доработок обрел четкие «очертания» в виде стандартов HTML.

На сегодняшний день, альтернативы этой технологии не существует.

Внешний вид системы представлен на рисунках ниже.

На рисунке 4 представлен интерфейс для добавления нового ученика в систему. Для того, чтобы отправить данные на сервер необходимо корректно заполнить все поля в форме. Для удобства пользователя справа существуют индикаторы, показывающие правильность вводимых данных.

Рис. 4 - Форма добавления студента

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

Рис. 5 - Результат работы блока добавления студента

3.2 Уровень данных

К данному уровню относятся все функции модулей, выполняющие задачу организации доступа и низкоуровневой обработки данных.

3.3 Нормализация

Главная цель нормализации базы данных - устранение избыточности и дублирования информации. В идеале при нормализации надо добиться, чтобы любое значение хранилось в базе в одном экземпляре, причем значение это не должно быть получено расчетным путем из других данных, хранящихся в базе.

База данных считается нормализованной, если ее таблицы представлены в третьей нормальной форме.

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

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

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

Отношение находится в 3 нормальной форме тогда и только тогда, когда выполняются следующие условия:

· Отношение находится во второй нормальной форме;

· Каждый не ключевой атрибут отношения находится в не транзитивной (то есть прямой) зависимости от потенциального ключа.

Таблица 3 - структура таблицы students

Поле

Тип

Заполнение

id_student

int(11)

auto_increment

id_course

int(11)

заполняется вручную

familia

text

заполняется вручную

imia

text

заполняется вручную

otchestvo

text

заполняется вручную

telefon

int(11)

заполняется вручную

addres

text

заполняется вручную

data_rojdenia

text

заполняется вручную

Таблица 4 - Структура таблицы users

Поле

Тип

Заполнение

id_user

int(11)

auto_increment

familia

text

заполняется вручную

imia

text

заполняется вручную

otchestvo

text

заполняется вручную

login

text

заполняется вручную

pass

text

заполняется вручную

Таблица 5 - Структура таблицы course

Поле

Тип

Заполнение

id_course

int(11)

auto_increment

id_department

int(11)

заполняется вручную

coursetitle

int(11)

заполняется вручную

Таблица 6 - Структура таблицы department

Поле

Тип

Заполнение

id_department

int(11)

auto_increment

deptitle

text

заполняется вручную

Таблица 7 - Структура таблицы discipline

Поле

Тип

Заполнение

id_discipline

int(11)

auto_increment

distitle

text

заполняется вручную

semestr

int(11)

заполняется вручную

Таблица 8 - Структура таблицы list

Поле

Тип

Заполнение

id_list

int(11)

заполняется вручную

id_student

int(11)

заполняется вручную

id_discipline

int(11)

заполняется вручную

rating

text

заполняется вручную

3.4 ER - диаграмма

Модель сущность-связь (ER-модель) -- модель данных, позволяющая описывать концептуальные схемы предметной области.

ER - модель используется при высокоуровневом (концептуальном) проектировании баз данных. С её помощью можно выделить ключевые сущности и обозначить связи, которые могут устанавливаться между этими сущностями.

Во время проектирования баз данных происходит преобразование ER-модели в конкретную схему базы данных на основе выбранной модели данных (реляционной, объектной, сетевой или др.).

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

Размещено на http://www.allbest.ru/

Рис. 6 - ER - диаграмма

3.5 Выбор системы хранения

Таблица 10 - Сравнение MySQL и PostgreeSQL

СУБД

MySQL

PostgreSQL

Производительность

Высокая

Высокая

Ключи

Поддерживает

Поддерживает

Транзакции

Поддерживает

Поддерживает

Автоматическое восстановление после сбоев

Частичное

Полное

Лицензирование

Открытая

Открытая

Быстродействие

Высокое

Высокое

В качестве системы хранения остановился на выборе СУБД MySQL, так как она обладает рядом преимуществ:

· Быстродействие. Благодаря внутреннему механизму многопоточности быстродействие MySQL высоко.

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

· Лицензия. Бесплатное распространение программы для некоммерческих целей.

· Открытость кода. Благодаря этому вы сможете сами добавлять в пакет нужные функции, расширяя его функциональность так, как вам требуется.

· Надежность. Создатели MySQL потрудились на славу, пакет довольно стабилен и его трудно вывести из строя.

· Переносимость. В настоящее время существуют версии программы для большинства распространенных компьютерных платформ. Это говорит о том, что вам не навязывают определенную операционную систему. Вы сами можете выбрать, с чем работать, например с Linux или Windows. В случае замены ОС не произойдет потеря данных.

4. Бизнес - процессы

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

· Традиционность. Традиционностью называется, схожесть одного языка программирования, с другими более ранними.

· Простота. Простотой называют автономность языка, т.е. необходимость подгружать библиотеки, компиляторы, объявлять переменные усложняет язык программирования.

· Эффективность. Эффективность является исключительно важным фактором при программировании для многопользовательских сред, к числу которых относится и web. Под эффективностью понимается скорость исполнения кода, быстродействие, возможность реализации поставленной задачи и т.д.

· Безопасность. Состояние защищённости языка программирования от потенциальных и реальных угроз, или отсутствие таких угроз. Безопасное состояние сложной системы, когда действие внешних и внутренних факторов не приводит к ухудшению системы или к невозможности ее функционирования и развития.

· Гибкость. Включает в себя взаимодействие с другими языками программирования, встраиваемость в код другого языка. А так же его расширяемость и масштабируемость.

Таблица 11 - Сравнение PHP и Pearl

Языки

PHP

Pearl

Цена

Бесплатно

Бесплатно

Популярность

Высокая

Средняя

Простота

Простой

Сложный

Web - ориентирован

Да

Не основное направление

Эффективная работа с MySQL

Да

Не достаточно

Традиционность

Да

Да

Гибкость

Гибкий

Не достаточно

Безопасность

Да

Да

Эффективность

Высокая

Высокая

В качестве языка программирования был выбран язык PHP.

Размещено на http://www.allbest.ru/

Рис. 7 - Схема работы сервиса добавление записи

Данная система состоит из 10 бизнес - сервисов:

· Добавление пользователя

· Изменение информации о пользователе

· Удаление пользователя

· Добавление студента

· Изменение информации о студенте

· Удаление студента

· Добавление дисциплины

· Изменение информации о дисциплине

· Удаление дисциплины

· Добавление записи в ведомость

Сервис добавления записи. В данном сервисе осуществляется добавление новой информации в базу данных.

Сервис изменения информации. В данном сервисе осуществляется выбор по нужной записи и осуществляется редактирование информации.

Размещено на http://www.allbest.ru/

Рис. 8 - Схема работы сервиса изменение информации

Сервис удаления информации. В данном сервисе осуществляется удаление нужной информации.

Размещено на http://www.allbest.ru/

Рис. 9 - Схема работы сервиса удаления информации

Сервис добавления записи в ведомость. В данном сервисе осуществляется добавление новой информации в ведомость.

Размещено на http://www.allbest.ru/

Рис. 10 - Схема работы сервиса добавление записи в ведомость

5. Принципы безопасности

В системе предусмотрено разграничения прав доступа. Все пользователи делятся на:

· Администратора (обладает правами добавления, изменения, удаления информации о преподавателях, студентах, дисциплинах, следит за корректной работой системы).

· Преподаватель (обладает правами добавления записи в ведомость)

· Студент (обладает правами просмотра, поиска информации в системе).

Администратору для того, чтобы начать работу с системой необходимо ввести свой уникальный логин и пароль, который хранится в базе данных.

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

Пользователю для работы с системой не обязательно проходить процедуру авторизации.

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

Использование сессий и cookies очень удобно и оправдано, когда, во-первых, необходимо сохранять информацию о пользователях на протяжении определенного времени, а, во-вторых, своевременно предоставлять пользователю новую информацию.

При работе с сессиями различают следующие этапы:

· Открытие сессии

· Регистрация переменных сессии и их использование

· Закрытие сессии

ЗАКЛЮЧЕНИЕ

В результате курсового проекта была разработана информационная система для хранения информации результатов экзаменов студентов.

Достоинства системы:

· Простой и понятный пользовательский интерфейс

· Предусмотрена работа с системой через сеть Internet

· Благодаря автоматизированной работе снята огромная нагрузка на методиста и работников деканата

· Через сеть Internet студенты могут просматривать свои результаты экзаменов, не выходя из дома

В проекте использованы языки web - программирования:

· HTML - гипертекстовая разметка

· CSS - каскадные таблицы стилей

· PHP - серверный язык

· JavaScript - создание динамических страниц

· Ajax - динамическая подгрузка информации в отведённое место

Для хранения данных использована база данных:

· MySQL

Освоены методы выбора средств, разработки, закреплены навыки построения web - ориентированных приложений и современных стандартов по хранению, защите и передачи данных.

СПИСОК ЛИТЕРАТУРЫ

1. Браун, М. Использование HTML : специальное издание: *Книга+: учебное пособие : *пер. с англ.+/ Марк Р. Браун, Джерри Хонникат *и др.+. -- 4-е изд. -- М. * и др.+: Издательский дом "Вильямс", 1999. -- 780, [4] с. : ил. -- Парал. тит. англ.

2. Веллинг, Л. Разработка Web-приложений с помощью PHP и MySQL : *Книга+ : *пер. с англ.+ / Люк Веллинг, Лора Томсон. -- 2-е изд. -- М.: Издательский дом "Вильямс", 2003. -- 800 с. : ил. + 1 электрон. опт. диск. -- Предм. указ.: с. 782-795.

3. Гото, К. Веб-редизайн: книга Келли Гото и Эмили Котлер : *Книга+ : *пер. с англ.+ / Келли Гото, Эмили Котлер. -- СПб.: Смивол-Плюс, 2003. -- 376 с. : цв. ил. -- 3000 экз. -- ISBN 5-93286-040-5 (в пер.)

4. Йордон, Э. Управление сложными Интернет-проектами *Книга+ / Эдвард Йордан; перевод с англ. яз. А. Головко. -- М.: ЛОРИ, 2003. -- 344, [8] с. : ил. -- Перевод изд.: Managing High-Intensity Internet Projects / Edward Yourdon, -- 2002. -- 3200 экз.

5. Крейн, Д. Ajax в действии : [Книга] : [пер. с англ.] / Дейв Крейн, Эрик Паскарелло, Даррен Джеймс. -- М.: Издательский дом "Вильямс", 2006. -- 640с. : ил. -- Парал. тит. англ. -- Перевод изд.: Ajax in action / Dave Crane, Eric Pascarello with Darren James. -- 2000 экз.

6. Кэгл, К. XML : [Книга] : [пер. с англ.] / Курт Кэгл, Дэвид Хантер, Дэйв Гиббонс. -- М.: ЛОРИ, 2006. -- 638, [18] с. -- На пер. 1-й авт.: Курт Кэгл. -- Перевод изд.: Beginning XML / Kurt Cagle, Dave Gibbons, David Hanter. -- 750 экз.

7. Пауэл, Т. Полный справочник по JavaScript : [Книга] : [пер. с англ.] / Томас Пауэлл, Фриц Шнайдер. -- 2-е изд. -- М.: Издательский дом "Вильямс", 2006. -- 960 с. : ил. -- Парал. тит. англ. -- Перевод изд.: JavaScript The Complete Reference. Second Edition / Thomas Powell, Fritz Schneider.

8. Прокопова Т. В., Интернет-технологии для создания информационных систем : учебный курс / Т. В. Прокопова. -- М., 2005. -- 304 с. : ил. -- 2000 экз.

9. ГОСТ Р ИСО 9000--2008. Системы менеджмента качества. Основные положения и словарь. *Текст+. -- Взамен ГОСТ 9000-2001; введ. 2009-09-10. -- М. : Стандартинформ, 2009. -- 31 с.

10. RusFAQ.ru Русский инфопортал *Электронный ресурс+ / ООО "Мастер-Эксперт Про" ; Web-мастер Калашников О.А. -- Электрон. дан. -- М., 2008 -- Режим доступа: http://rusfaq.ru/, свободный. --

ПРИЛОЖЕНИЕ 1

Файл Index.php

<?php

include ("../path.php");

include ($incl."register.php");

include ($incl."connect.php");

$link=$_GET['link']; if (!$link) $link="main";

$result=mysql_query("SELECT * FROM content WHERE page='$link'");

$row=mysql_fetch_array($result);

?>

<!DOCTYPE HTML Public "-//w3c//DTD HTML 4.01 Transition//EN"

"http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<link type="text/css" rel="stylesheet" href="style.css">

<link rel="short cut icon" href="image/adress.ico">

<meta content="<?php echo $row['keywords'];?>" name="keywords">

<meta content="<?php echo $row['description'];?>" name="description">

<meta http-equiv="content-type" content="text/html; charset=windows-1251">

<title><?php echo $row['title'];?></title>

<script type="text/javascript" src="script.js"></script>

<script type="text/javascript" src="jquery.js"></script>

<script type="text/javascript" src="selects.js"></script>

</head>

<body onload="upd_message()">

<?

$link=$_GET['link']; if (!$link) $link="main";

?>

<div id="all">

<?

include ("../path.php");

include ($incl."head.php");

include ($incl."menu.php");

include ($incl."foot.php");

?>

</div>

</body>

</html>

ПРИЛОЖЕНИЕ 2

Файл adduser.php

<h2 align="center">Добавление пользователя</h2>

<div align="center">

<form method='post' action='index.php?link=addstud_script' name='form2' style='display:none'>

<table align="center">

<tr>

<td colspan="2" align="center">

<p>Заполните, пожалуйста, все поля формы добавления Студента</p><hr>

</td>

</tr>

<tr>

<td rowspan="2" valign="top">

Введите Фамилию:

</td>

<td>

<input type='text' size='45' name='familia' onkeyup='provfam(form2)'/>

</td>

</tr>

<tr>

<td>

Фамилия должна содержать от 2 до 20 символов.<br>

Используйте кириллицу (а-я) или латинские буквы (a-z)<hr>

</td>

</tr>

<tr>

<td rowspan="2" valign="top">

Введите Имя:

</td>

<td>

<input type='text' size='45' name='imia' onkeyup='provnme(form2)'/>

</td>

</tr>

<tr>

<td>

Имя должно содержать от 2 до 20 символов.<br>

Используйте кириллицу (а-я) или латинские буквы (a-z)<hr>

</td>

</tr>

<tr>

<td rowspan="2" valign="top">

Введите Отчество:

</td>

<td>

<input type='text' size='45' name='otchestvo' onkeyup='provotch(form2)'/>

</td>

</tr>

<tr>

<td>

Отчество должно содержать от 2 до 20 символов.<br>

Используйте кириллицу (а-я) или латинские буквы (a-z)<hr>

</td>

</tr>

<tr>

<td rowspan="2" valign="top">

Введите Телефон:

</td>

<td>

<input type='text' size='45' name='telefon' onkeyup='provtel(form2)'/>

</td>

</tr>

<tr>

<td>

Телефон должен содержать от 6 до 11 символов.<br>

Используйте цифры (0-9)<hr>

</td>

</tr>

<tr>

<td rowspan="2" valign="top">

Адрес проживания:

</td>

<td>

<input type='textarea' size='45' name='addres' onkeyup='provadr(form2)'/>

</td>

</tr>

<tr>

<td>

Адрес проживания должен содержать от 2 до 20 символов.<br>

Используйте кириллицу (а-я), латинские буквы (a-z) или цифры (0-9)<hr>

</td>

</tr>

<tr>

<td rowspan="2" valign="top">

Дата рождения:

</td>

<td>

<input type='text' size='45' name='date' onkeyup='provdte(form2)'/>

</td>

</tr>

<tr>

<td>

Дата рождения должна соответствовать установленному формату (dd.mm.yyyy)<br>

Используйте цифры (0-9)<hr>

</td>

</tr>

<tr>

<td valign="top">

Факультет:

</td>

<td>

<select name="fakultet" id="fklt_id">

<option value="0"></option>

<?

include ($incl."connect.php");

$result_set=$mysqli->query('SELECT * FROM `department`');

while ($row=$result_set->fetch_assoc())

{

echo '<option value="'.$row["id_department"].'">'.$row["deptitle"].'</option>';

}

$result_set->close();

$mysqli->close();

?>

</select><hr>

</td>

</tr>

<tr>

<td valign="top">

Курс:

</td>

<td>

<select name="kurs" id="krs_id" disabled="disabled">

<option value="0"></option>

</select>

</td>

</tr>

<tr>

<td colspan="2">

<hr>

</td>

</tr>

<tr>

<td colspan="2" align="center">

<input type='submit' value='Добавить'/>

</td>

</tr>

</table>

</form>

ПРИЛОЖЕНИЕ 3

Файл addstud_script.php

<?php

include($incl.'connect.php');

if ($_POST)

{

$familia = trim($_POST['familia']);

$imia = trim($_POST['imia']);

$otchestvo = trim($_POST['otchestvo']);

$telefon = trim($_POST['telefon']);

$addres = trim($_POST['addres']);

$date = trim($_POST['date']);

$kurs = trim($_POST['kurs']);

$fakultet = trim($_POST['fakultet']);

$error = false;

$errortext = '<br><p>При добавлении студента произошли следующие ошибки:</p><ul>';

if (empty($familia))

{

$error = true;

$errortext .= '<li>Вы не заполнили поле Фамилия</li>';

} else {

if (!preg_match('/^[а-яА-ЯёЁa-zA-Z]{2,20}$/i',$familia))

{

$error = true;

$errortext .= '<li>Убедитесь что Фамилия состоит от 2 до 20 символов кириллицы (а-я) или латиницы (a-z)</li>';

}

}

if (empty($imia))

{

$error = true;

$errortext .= '<li>Вы не заполнили поле Имя</li>';

} else {

if (!preg_match('/^[а-яА-ЯёЁa-zA-Z]{2,20}$/i',$imia))

{

$error = true;

$errortext .= '<li>Убедитесь что Имя состоит от 2 до 20 символов кириллицы (а-я) или латиницы (a-z)</li>';

}

}

if (empty($otchestvo))

{

$error = true;

$errortext .= '<li>Вы не заполнили поле Отчетсво</li>';

} else {

if (!preg_match('/^[а-яА-ЯёЁa-zA-Z]{2,20}$/i',$otchestvo))

{

$error = true;

$errortext .= '<li>Убедитесь что Отчество состоит от 2 до 20 символов кириллицы (а-я) или латиницы (a-z)</li>';

}

}

if (empty($telefon))

{

$error = true;

$errortext .= '<li>Вы не заполнили поле Телефон</li>';

} else {

if (!preg_match('/^[0-9]{6,11}$/i',$telefon))

{

$error = true;

$errortext .= '<li>Убедитесь что Телефон состоит от 6 до 11 цифр (0-9)</li>';

}

}

if (empty($addres))

{

$error = true;

$errortext .= '<li>Вы не заполнили поле Адрес проживания</li>';

} else {

if (!preg_match('/^[а-яА-ЯёЁa-zA-Z0-9]{2,20}$/i',$addres))

{

$error = true;

$errortext .= '<li>Убедитесь что Адрес состоит от 2 до 20 символов кириллицы (а-я), латиницы (a-z) или цифр (0-9)</li>';

}

}

if (empty($date))

{

$error = true;

$errortext .= '<li>Вы не заполнили поле Дата рождения</li>';

} else {

if (!preg_match('/^(\d{2})\.(\d{2})\.(\d{4})$/i',$date))

{

$error = true;

$errortext .= '<li>Убедитесь что Дата рождения записана в установленном формате</li>';

}

}

if (empty($fakultet))

{

$error = true;

$errortext .= '<li>Вы не выбрали поле Факультет</li>';

} else {

if (!preg_match('/^[a-z0-9]$/i',$fakultet))

{

$error = true;

$errortext .= '<li>Убедитесь что вы выбрали Факультет</li>';

}

}

if (empty($kurs))

{

$error = true;

$errortext .= '<li>Вы не выбрали поле Курс обучения</li>';

} else {

if (!preg_match('/^[a-z0-9]$/i',$kurs))

{

$error = true;

$errortext .= '<li>Убедитесь что вы выбрали Курс обучения</li>';

}

}

$errortext .= '</ul>';

if ($error)

{

echo($errortext);

echo 'Пожалуйста <a href="index.php?link=adduser">повторите попытку!</a>';

} else {

mysql_query('INSERT INTO students(id_course, id_department, familia, imia, otchestvo, telefon, addres, data_rojdenia)

VALUES("'.$kurs.'", "'.$fakultet.'", "'.$familia.'", "'.$imia.'", "'.$otchestvo.'", "'.$telefon.'", "'.$addres.'", "'.$date.'")');

echo'<br><br>Поздравляем пользователь успешно добавлен';

}

}

?>

ПРИЛОЖЕНИЕ 4

Файл list.php

<select id="sel1" onchange='showDistitle(this);'>

<option value="0"></option>

<?

include ("../path.php");

include ($incl."connect.php");

$result_set=$mysqli->query('SELECT * FROM `discipline`');

while ($row=$result_set->fetch_assoc())

{

echo '<option value="'.$row["id_discipline"].'">'.$row["distitle"].'</option>';

}

$result_set->close();

$mysqli->close();

?>

</select>

<?php

include ($incl."connect.php");

$q=iconv("UTF-8", "WINDOWS-1251",$_POST['q']);

$result_set=$mysqli->query('SELECT distitle from `discipline` where id_discipline="'.$q.'"');

$row=$result_set->fetch_assoc();

echo '<table class="exm">

<tr>

<td colspan="4">

Дисциплина: '.$row['distitle'].'<hr>

</td>

</tr>

<tr>

<td>

Фамилия<hr>

</td>

<td>

Имя<hr>

</td>

<td>

Отчество<hr>

</td>

<td>

Оценка<hr>

</td>

</tr>';

$result_set=$mysqli->query('SELECT s.familia, s.imia, s.otchestvo, l.rating FROM `list` l,`students` s where l.id_student=s.id_student AND l.id_discipline="'.$q.'"');

while ($row=$result_set->fetch_assoc()) {

echo '<tr>

<td>

'.$row['familia'].'

</td>

<td>

'.$row['imia'].'

</td>

<td>

'.$row['otchestvo'].'

</td>

<td>

'.$row['rating'].'

</td>

</tr>';

}

$result_set->close();

$mysqli->close();

echo '</table><br>';

?>

<form method="POST" action="" name="forma5">

<table class="exm">

<tr>

<td colspan="2" align="center">

Введите свои данные

</td>

</tr>

<tr>

<td>

Фамилия:

</td>

<td>

<input type="text" name="fam" id="fam"/>

</td>

</tr>

<tr>

<td>

Имя:

</td>

<td>

<input type="text" name="nme" id="nme"/>

</td>

</tr>

<tr>

<td>

Отчество:

</td>

<td>

<input type="text" name="otch" id="otch"/>

</td>

</tr>

<tr>

<td colspan="2">

<input type="button" value="Найти" onclick="search()"/>

</td>

</tr>

</table>

</form>

<br>

<?php

include ($incl."connect.php");

$fam=iconv("UTF-8", "WINDOWS-1251",$_POST['fam']);

$nme=iconv("UTF-8", "WINDOWS-1251",$_POST['nme']);

$otch=iconv("UTF-8", "WINDOWS-1251",$_POST['otch']);

$result_set1 = $mysqli->query("SELECT s.familia, s.imia, s.otchestvo, d.distitle, l.rating FROM `students` s, `list` l, `discipline` d

WHERE l.id_student=s.id_student ANDl.id_discipline=d.id_discipline AND familia='$fam' AND imia='$nme' AND otchestvo='$otch'");

$row=$result_set1->fetch_assoc();

echo '<table class="exm">

<tr>

<td colspan="2">

Результаты студента:

'.$row['familia'].' '.$row['imia'].' '.$row['otchestvo'].'

</td>

</tr>

<tr>

<td>

Дисциплина

</td>

<td>

Оценка

</td>

</tr>';

while ($row = $result_set1->fetch_assoc()){

echo '<tr>

<td>

'.$row['distitle'].'

</td>

<td>

'.$row['rating'].'

</td>

</tr>';

}

echo '</table>';

$result_set1->close();

$mysqli->close();

?>

ПРИЛОЖЕНИЕ 5

Файл addlist.php

<h2 align="center">Добавление записи в ведомость</h2>

<form method='post' name="form3" action='index.php?link=addlist_script'>

<table align="center">

<tr>

<td colspan="2" align="center">

<p>Пожалуйста, заполните все поля формы добавления записи в ведомость.</p><hr>

</td>

</tr>

<tr>

<td valign="top">

Выберите студента из списка:

</td>

<td>

<select name='student'>

<option value="0"></option>

<?

include ($incl."connect.php");

$result_set=$mysqli->query('SELECT * FROM `students`');

while ($row=$result_set->fetch_assoc())

{

echo '<option value="'.$row["id_student"].'">'.$row["familia"].' '.$row["imia"].' '.$row["otchestvo"].'</option>';

}

$result_set->close();

$mysqli->close();

?>

</select><hr>

</td>

</tr>

<tr>

<td valign="top">

Выберите дисциплину:

</td>

<td>

<select name='discipline'>

<option value="0"></option>

<?

include ($incl."connect.php");

$result_set=$mysqli->query('SELECT * FROM `discipline`');

while ($row=$result_set->fetch_assoc())

{

echo '<option value="'.$row["id_discipline"].'">'.$row["distitle"].'</option>';

}

$result_set->close();

$mysqli->close();

?>

</select><hr>

</td>

</tr>

<tr>

<td valign="top">

Выберите оценку:

</td>

<td>

<select name='rating'>

<option value=" "></option>

<option value="Неудовлетворительно">Неудовлетворительно</option>

<option value="Удовлетворительно">Удовлетворительно</option>

<option value="Хорошо">Хорошо</option>

<option value="Отлично">Отлично</option>

</select>

</td>

</tr>

<tr>

<td colspan="2">

<hr>

</td>

</tr>

<tr>

<td colspan="2" align="center">

<input type='submit' value='Добавить'/>

</td>

</tr>

</table>

</form>

Размещено на Allbest.ru


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.