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

Дистанционное обучение с использованием интернет-технологий, методика и технологии его применения. Программы "eLearning Server 3000", "Lotus LearningSpace", "Батисфера", "SunRav TestOfficePro". Представление информации и система проверки знаний.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 13.05.2009
Размер файла 2,4 M

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

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

Слуховой анализатор. В помещении аудитории № 209 есть источники повышенного уровня шума - это матричный принтер и вентиляторы, охлаждающие процессоры.

4.1.3 Категорирование помещения аудитории

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

Согласно НПБ 105-03 по взрывопожарной и пожарной опасности помещение относится к категории В-3, так как есть твердые горючие вещества [19].

Согласно СНиП-21.01-97 помещение относится ко II-ой степени огнестойкости.

Согласно ПУЭ по опасности поражения электрическим током помещение относится к категории без повышенной опасности (I категория) и не относится к классу взрывоопасных или пожароопасных зон, так как характеризуется отсутствием условий, создающих повышенную или особую опасность.

4.1.4 Санитарно-гигиеническая характеристика помещения

Допустимые нормы температуры, относительной влажности и скорости движения воздуха согласно СанПиН 2.2.4 548-96 "Гигиенические требования к микроклимату производственных помещений" [20] в рабочей зоне аудитории для холодного и теплого времени года для категории 1а, к которой относятся виды работ, для аудитории № 209, т.е. работы с интенсивностью энергозатрат до 120 ккал/ч (до 139 Вт), производимые сидя и сопровождающиеся незначительным физическим напряжением, можно отразить таблицей 4.1:

Таблица 4.1 - Допустимые нормы температуры, относительной влажности и скорости движения воздуха

Период года

Температура воздуха, С

Температура поверхностей, С

Относительная влажность,%

Скорость движения воздуха, м/с

Диапазон ниже оптимальных величин (tвозд tоптим)

Диапазон выше оптимальных величин (tвозд tоптим)

Для диапазона температур воздуха ниже оптимальных (tвозд tоптим)

Для диапазона температур воздуха выше оптимальных (tвозд tоптим)

Холодный

20-21,9

24,1-25

19,0-26,0

15-75

0,1

0,1

Теплый

21,0-22,9

25,1-28,0

20,0-29,0

15-75

0,1

0,2

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

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

4.1.5 Условия безопасности при проведении экспериментальной части работы. Электробезопасность

Согласно СанПиН 2.2.2 - 2.4 1340-03 [21] устанавливаются гигиенические требования к персональным электронно-вычислительным машинам и организации работы.

Требования к ПЭВМ. При работе на ПЭВМ должный контроль уделяется следующим параметрам: уровням электромагнитных полей (ЭМП), акустического шума, концентрации вредных веществ в воздухе, визуальным показателям ВДТ, мягкому рентгеновскому излучению. Эти параметры соответствовуют нормам.

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

Требования к помещениям для работы с ПЭВМ. Помещения для эксплуатации ПЭВМ должны имеют естественное и искусственное освещение. Оконные проемы оборудованы регулируемыми устройствами типа жалюзи из занавесей.

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

Шумящее оборудование (принтеры, серверы), уровни шума которых превышают нормативные, размещены вне аудитории.

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

Расчет освещенности должен выполняться с учетом двух основных правил:

1.Для обеспечения требуемой контрастности между экраном дисплея и окружающей обстановкой уровень освещенности должен составлять 300-500 лк при использовании общего освещения.

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

Мониторы на рабочих местах ориентированы боковой стороной к световым проемам, чтобы естественный свет падал преимущественно слева. Искусственное освещение равномерное.

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

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

При размещении рабочих мест с ПЭВМ расстояние между рабочими столами с видеомониторами (в направлении тыла поверхности одного видеомонитора и экрана другого видеомонитора) должно быть не менее 2,0 м, а расстояние между боковыми поверхностями видеомониторов - не менее 1,2 м.

Рабочие места с ПЭВМ при выполнении творческой работы, требующей значительного умственного напряжения или высокой концентрации внимания, рекомендуется изолировать друг от друга перегородками высотой 1,5-2,0 м.

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

Электробезопасность. Для защиты людей от поражения электрическим током принимаются следующие меры электробезопасности:

недопустимо оголение токоведущих частей, приборов;

электропроводка внутренняя (в стенах), напряжение сети 220В, частота тока 50Гц;

все приборы и оборудование должны быть в исправном состоянии и иметь защитное заземление;

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

пол должен быть выполнен из нетоковедущих материалов (дерево, линолеум и т.п.);

все работы по монтажу производятся при отключенном напряжении с использованием инструмента с изолированными рукоятками;

к работе допускаются лица, прошедшие инструктаж по технике безопасности;

помещение поддерживается в чистоте и сухости, что является мерой для повышения сопротивления человека;

особое внимание уделяется исправности розеток и разъемов.

4.1.6 Пожарная безопасность и средства пожаротушения

Рекомендации НПБ 105-03 [19] определяют два основных принципа обеспечения пожаробезопасности:

предотвращение образования горючей среды;

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

В качестве пожаропредупреждения можно посоветовать применять соответствующее электрооборудование, соблюдать требования искробезопасности и т.д. К защите можно отнести следующее: применение пожарной сигнализации, средств пожаротушения, применение конструкций с заданными пределами огнестойкости, эвакуация людей, применение средств коллективной и индивидуальной защиты. Должны быть проведены в полном объеме и своевременно мероприятия по обучению правилам пожарной безопасности, разработаны нормы, регламенты, средства наглядной агитации, контроль. В помещении должно быть необходимое количество огнетушителей, объем которых должен позволять ликвидировать очаг пожара в помещении. Так как возникновение пожара в данном помещении возможно, скорее всего, из-за электрической неисправности, то можно порекомендовать углекислотные огнетушители, типа ОУ-5, которые применяются для тушения загорании различных веществ и материалов, а также электроустановок, находящихся под напряжением.

4.1.7 Защита окружающей среды

Никаких вредных выбросов и загрязненного воздуха в рабочем помещении не образуется. Поэтому защита окружающей среды сводится к соблюдению элементарных правил:

Поддержание санитарно-гигиенического состояния рабочего места, то есть уборка мусора в специально отведенные для этого урны. Категорически запрещается выбрасывать мусор в окна, загрязняя тем самым территорию, прилежащую к НИ РХТУ;

Регулярно должна проводиться влажная уборка помещения. Необходимо соблюдать чистоту и порядок в помещении.

4.1.8 Гражданская оборона

Системы оповещения о непосредственной угрозе нападения противника.

На основании постановления главы муниципального образования города Новомосковска и Новомосковского района 30.12.98 г. №2775.

"О системе оповещения и информировании населения об угрозе возникновения или возникновении ЧС-й" в г. Новомосковске и Новомосковском районе разработана система оповещения и информирования населения. Утверждены и введены в действие тексты информации об угрозе возникновения или возникновении ЧС-й в мирное и военное время, а также об отбое опасности, подлежащее передаче по сетям местного радиовещания, телеканалам ТВ-6, ТВ-7 и посредством использования громкоговорящих устройств УВД Новомосковского района.

Система оповещения в институте: решение на производство тех или иных мероприятий о непосредственной угрозе нападения противника принимает ректор НГО НИ РХТУ на основании информации полученной по СМИ или адресным распоряжениям (указанием органов управления муниципального образования города Новомосковска и Новомосковского района).

Защитных сооружений, отвечающих требованиям норм ИТМ ГО институт не имеет, следовательно, при угрозе заражения города СДЯВ защита сотрудников института и студентов будет состоять из мероприятий по экстренной эвакуации с использованием простейших средств защиты органов дыхания и других подручных средств.

Своих средств защиты органов дыхания институт не имеет, поэтому, если позволяет обстановка, по указанию Управления по делам ГО и ЧС города в институте развертывается пункт выдачи противогазов в спортивном зале нового учебного корпуса и организуется выдача противогазов всему личному составу института и членам их семей и только после этого организуется вывоз людей из предполагаемой зоны заражения. В случае экстренной эвакуации личный состав использует простейшие средства защиты органов дыхания (влажные ватно-марлевые повязки, респираторы, полотенце и т.п.).

На объектовом уровне (в т. ч. институте) координирующим органом является объектовая комиссия по ЧС (КЧС объекта), которая организует и проводит все мероприятия по защите личного состава института.

Для ликвидации последствий чрезвычайных ситуаций в военное время в НИ РХТУ созданы формирования ГО:

Санитарная дружина;

Пост РХН;

Группа охраны общественного порядка;

Сборный эвакопункт;

Пункт выдачи противогазов.

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

По месту работы;

Участие в учениях, тренировках и других плановых мероприятиях по ГО;

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

4.2 Расчетная часть

4.2.1 Определение пожарной нагрузки помещения (В1-В4)

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

Таблица 4.2 - Категории помещения, в зависимости от удельной пожарной нагрузки

Категории

Удельная пожарная нагрузка q на участке, МДж·м-2

Способ размещения

В1

Более 2200

Не нормируется

В2

1401 - 2200

Примечание 2

В3

181 - 1400

Примечание 2

В4

1 - 180

На любом участке пола помещения площадью 10 м2. Способ размещения пожарной нагрузки определяется согласно примечанию 1.

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

Если при определении категории В2 или В3 количество пожарной нагрузки Q превышает или равно Q ? 0,64•qT•H2, то помещение будет относиться к категориям В1 или В2 соответственно.

При пожарной нагрузке, включающей в себя различные сочетания (смесь) горючих, трудногорючих жидкостей, твердых горючих и трудногорючих веществ и материалов в пределах пожароопасного участка, пожарная нагрузка Q, МДж, определяется по формуле (4.1)

,

(4.1)

где Gi -количество i-го материала пожарной нагрузки, кг;

- низшая теплота сгорания i-го материала, МДж•кг-1.

Удельная пожарная нагрузка q (МДж•м-2) определяется из соотношения (4.2):

q = ,

(4.2)

где S - площадь размещения пожарной нагрузки, м2 (но не менее 10 м2).

Низшая теплота сгорания веществ и материалов, используемых в аудитории приведена в таблице 4.3

Таблица 4.3 - Низшая теплота сгорания веществ и материалов, используемых в аудитории

Вещества и материалы

Низшая теплота сгорания, МДж/кг

Древесина (мебель)

13,800

Линолеум на тканной основе

20,292

Бумага

13,400

Полистирол

39,000

Органическое стекло

27,670

Пожарная нагрузка мебели в количестве - 340 кг, линолеум - 100 кг, бумаги - 80 кг, пластика - 15 кг, органическое стекло - 3 кг.

Площадь аудитории № 209: 6,45 м x 7,77 м.

Q = 340*13,800+100*2,292+80*13,400+15*39,000+3*27,670 = 6661,21 МДж.

Удельная пожарная нагрузка:

МДж/м2.

Помещение относится к категории В4. При загорании помещения для тушения применяется огнетушитель ОУ-5.

4.2.2 Освещение производственных помещений

Искусственное освещение предусматривается в помещениях, в которых недостаточно естественного света, или для освещения помещения в часы суток, когда естественная освещенность отсутствует.

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

,

(4.3)

Для искусственного освещения нормируемый параметр - освещенность рабочей поверхности, которую согласно СанПиН 2.2.2/2.4 1340-03 [21] принимаем Е = 300 лк.

Выбираем для освещения помещения люминесцентные лампы типа ЛБ - лампы белого света мощностью 65 Вт, номинальным световым потоком

F = 4600 лм [ГОСТ 6825-91].

Принимаем также:

Поправочный коэффициент светильника, при освещении линиями люминесцентных ламп z = 1,1;

Количество люминесцентных ламп в светильнике m =2

Коэффициент запаса, учитывающий снижение освещенности при эксплуатации k = 1,4;

Коэффициент использования светового потока, зависящий от типа светильника, показателя (индекса - i) помещения, площади помещения, расчетной высоты, коэффициентов отражения потолка, стен, пола помещения и т.д. - u.

,

(4.4)

где S = 6,45*7,77 = 50,12 м2 - площадь помещения;

h = 2,2 м - расчетная высота, т.е. расстояние между источником света и освещаемой им рабочей поверхностью;

A = 7,77 м, B = 6,45 м - длина и ширина помещения соответственно.

Тогда коэффициент использования светового потока принимаем равным u = 0,52.

При заданной освещенности и выбранном световом потоке конкретной лампы можно определить количество светильников п:

.

В результате произведенного расчета для оптимального освещения аудитории № 209 получаем 5 светильников, каждый из которых включает в себя: 2 люминесцентные лампы типа ЛБ мощностью 65 Вт и номинальным световым потоком 4600 лм каждая. Схема размещения рабочих мест и светильников в помещении представлена на рисунке 4.1

Рисунок 4.1 - Схема размещения светильников в аудитории № 209.

Заключение

В работе проведено исследование использования программ дистанционного обучения для подготовки учебно-методической документации, описаны их положительные стороны и выявлены основные проблемы. В результате проведенного исследования разработано web-приложение "R@Learning Institute". Для разработки использовался язык серверных скриптов PHP 4.

Разработана структура данных для организации дистанционного обучения студентов кафедры ВТИТ. Описан процесс создания структуры базы данных в формате сервера MySQL и созданы механизмы её администрирования через web-интерфейс. Рассмотрены проблемы, связанные с подготовкой электронных учебных материалов и созданием системы контроля знаний.

Описаны тонкости установки программных продуктов - web-сервера Apache, языка PHP 4 и сервера баз данных MySQL.

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

Определены технические требования к установке и эксплуатации, предъявляемые к программному продукту "R@Learning Institute".

В ходе работы осуществлен начальный этап создания приложения "R@Learning Institute", созданного для организации дистанционного обучения НИ РХТУ.

Достоинствами разработанной версии приложения является:

1. Простой, удобный в навигации, интуитивно понятный студенту web-интерфейс, основанный на системе подменю;

2. Разграничение пользовательской и административной части программного комплекса;

3. Обеспечение возможности однократной регистрации студентов-пользователей в системе и беспрепятственного входа в систему;

4. Возможность индивидуального обучения по каждой дисциплине;

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

6. Ограничение числа попыток пройти тестирование пользователем;

7. Хранение базы данных пользователей, курсов, данных для тестирования, результатов прохождения тестов на web-сервере;

8. Хранение учебных материалов на web-сервере, с возможностью загрузки зарегистрированным пользователем;

9. Обеспечение доступа администратора к базе данных через web-интерфейс;

10. Просмотр администратором статистики и текущей успеваемости студентов;

11. Организация возможности общения студентов и преподавателей посредством электронной почты и других средств общения;

12. Организация поиска по сайту;

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

14. Web-совместимость (совместимость с различными браузерами);

15. Незначительный объем (размер сайта без базы учебных материалов ~200 Кб).

Для тестирования системы в базу данных была занесена информация по дисциплине "Схемотехника". Курс представлен из 7 подразделов, включает соответственно 7 тестов и итоговый тест. На примере данной дисциплины был проведен полный цикл обучения (регистрация в системе, регистрация курса, изучение материалов и прохождение тестирования). В процессе тестирования были выявлены некоторые ошибки программного кода, которые были успешно устранены.

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

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

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

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

В разделе "Безопасность жизнедеятельности" была приведена характеристика потенциальных опасностей, возникающих в процессе трудовой деятельности персонала, приведен расчет освещенности и категорирование помещения аудитории № 209 старого корпуса НИ РХТУ по взрыво- и пожароопасности.

Список использованных источников

1. Агопонов С.В. Средства дистанционного обучения. - СПб.: БХВ-Петербург, 2003.

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

3. http: // db. informika. ru/do/npb/index. asp

4. Официальный web-сайт программного комплекса "eLearning Server 3000".

5. http: // www. elearn. ru

6. Официальный web-сайт программного комплекса "Lotus LearningSpace".

7. http: // www. commed. ru

8. Официальный web-сайт программного комплекса "Батисфера".

9. http: // www. baty. ru

10. Официальный web-сайт программного комплекса "SunRav TestOfficePro".

11. http: // www. sunrav. ru

12. Вуль В.А. Электронные издания. - СПб.: БХВ-Петербург, 2003. - 560 с.

13. Оганесян А.Г. Проблема обратной связи при дистанционном обучении. - М.: Открытое образование, 2002. - 238 с.

14. Шевелев М.Ю. Автоматизированный внешний контроль самостоятельной работы студентов в системе дистанционного образования/Дистанционно образование. Состояние, проблемы, перспективы. Тез. докл. научно-методической конференции. - Томск: ТУСУР, 2002.

15. Кастаньетто Дж., Рават Х. Профессиональное PHP программирование. Пер. с англ. - СПб.: Символ-Плюс, 2001. - 912 с.

16. Колисниченко Д.Н. Самоучитель PHP 5. Издание 2-е. - СПб.: Наука и Техника, 2005. - 576 с.

17. Web-сайт бесплатных java-скриптов

18. www. freejavascripts. narod. ru

19. Официальный web-сайт web-сервера Apache.

20. http: // www. apache. org

21. Официальный web-сайт языка web-программирования PHP.

22. http: // www. php. net

23. Официальный web-сайт сервера баз данных MySQL.

24. http: // www. mysql. com

25. Стивен Спэйнауэр, Роберт Экштейн. Справочник вебмастера. Издание 2-е. Пер. с англ. - СПб.: Символ-Плюс, 2001. - 608 с.

26. Мэрдок Келли Л. JavaScript: наглядный курс создания динамических Web-страниц. Пер. с англ. - М.: Вильямс, 2001. - 288 с.

27. Лобковская О.З. Методические указания по технико-экономическому обоснованию дипломных проектов, связанных с разработкой автоматизированных систем управления и программных изделий. - Новомосковск, 2002.

28. НПБ 105-03. Нормы пожарной безопасности.

29. СанПиН 2.2.4 548-96. Гигиенические требования к микроклимату производственных помещений.

30. СанПиН 2.2.2 - 2.4 1340-03. Гигиенические требования к персональным электронно-вычислительным машинам и организации работы.

Приложения

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

Приложение Б Листинги модулей формирования страниц приложения

Б.1 Листинг модуля "courses_registration. php"

<html>

<head>

<title> Remote Learning Institute | Courses Registration</title>

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

</head>

<body>

<? include "header. php"? >

<table width="835" border="0" cellpadding="3" cellspacing="0">

<! - -DWLayoutTable-->

<tr>

<td width="160" height="503" valign="top" bgcolor="#8AD9FF">

<? include "body_left. php";? >

</td>

<td width="659" valign="top" bgcolor="#F9FDFF" class=bd>

<? include "courses_registration_right. php";? >

</td>

</tr>

</table>

<? include "buttom. php"? >

</body>

</html>

Б.2 Листинг модуля "header. php"

<table width="835" border="0" cellpadding="2" cellspacing="0" bgcolor="#0094DE">

<! - -DWLayoutTable-->

<tr>

<td width="280" rowspan="2" valign="top"><img src="images/logo. gif" width="280" height="108"></td>

<td width="520" height="88" valign="top"><div align="center"><img src="images/logo_text. gif" width="265" height="73"></div></td>

<td width="35" valign="top"><div align="right"><img src="images/table_corner_news. gif" width="15" height="15"></div></td>

</tr>

<tr>

<td height="20" colspan="2" valign="top">

<? include "menu. php"? >

</td>

</tr>

</table>

Б.3 Листинг модуля "body_left. php"

<?

echo "<table width=\"100%\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\">";

echo "<tr> <td bgcolor=\"#8AD9FF\">";

//echo "$user_name $user_pswd";

if ($login_reg=="yes") {

include "user_form. php";

}

else {

include "login_form. php";

}

$FindScript="find. php";

echo "<hr color=\"#0094DE\" size=\"1\" style=\"border-style: dotted\"></hr>";

echo "<form name=\"form_find\" action=\"$FindScript\" metod=\"get\" style=\"margin: 0px\">";

echo "<input type=\"text\" name=\"find\" class=\"textblockBlue\" style=\"height: 18; width: 110\">|";

echo "<input type=\"submit\" name=\"login\" style=\"height: 18; width: 43\" class=\"buttonBlue\" value=\"поиск\">";

echo "</form>";

echo "<hr color=\"#0094DE\" size=\"1\" style=\"border-style: dotted\"></hr>";

include "news_list_header. php";

echo "информация";

include "news_list_after_header. php";

echo "25.04.05 Cайт был создан, вышла его первая версия";

include "news_list_footer. php";

echo "</td> </tr> </table>";

? >

Б.4 Листинг модуля "courses_registration_right. php"

<table width="100%" border="0" cellpadding="3" cellspacing="0">

<tr>

<td width="100%" valign="top" bgcolor="#F9FDFF">

<span class="textheader"> РЕГИСТРАЦИЯ НА КУРСЫ </span>

</td>

</tr>

<tr>

<td>

<?

$maxReg=3;

include "body_list_header. php";

echo "Подтверждение регистрации";

include "body_list_after_header. php";

require "option. php";

mysql_connect($SERVER,$USER,$PASSWD) or die(mysql_error());

mysql_select_db($DB);

$strSQL="SELECT * FROM user_courses WHERE login='". $user_name_. "' AND status='reg'";

$res=mysql_query($strSQL);

$cRow=mysql_num_rows($res);

echo "Вы в данный момент зарегистрированы на следующее количество курсов: ". $cRow. "<br>";

$strSQL="SELECT * FROM user_courses WHERE (login='". $user_name_. "' AND n_course='". $id_course. "')";

$resUserCourses=mysql_query($strSQL);

if (! mysql_fetch_row($resUserCourses)) {

if ($cRow<=($maxReg-1)) {

echo "Вы действительно желаете зарегистрироваться на выбранный курс? ";

echo "<hr color=\"#0094DE\" size=\"1\" style=\"border-style: dotted\"></hr>";

echo "<a class=\"light\" href=\"courses_for_students. php\">возврат</a>";

echo " | <a class=\"light\" href=\"training. php? id_course=". $id_course. "&course_reg=y\">подтвердить</a>";

}

else {

echo "Вы уже зарегистрированны на максимально возможное (по единовременному прохождению) количество курсов (на ". $maxReg. ")";

echo "<hr color=\"#0094DE\" size=\"1\" style=\"border-style: dotted\"></hr>";

echo "<a class=\"light\" href=\"courses_for_students. php\">возврат</a>";

}

}

else {

echo "Вы уже зарегистрированны на выбранный курс";

echo "<hr color=\"#0094DE\" size=\"1\" style=\"border-style: dotted\"></hr>";

echo "<a class=\"light\" href=\"courses_for_students. php\">возврат</a>";

}

include "body_list_footer. php";

? >

</td>

</tr>

</table>

Б.5 Листинг модуля "buttom. php"

<table width="835" border="0" cellpadding="2" cellspacing="0" bgcolor="#77D2FF">

<! - -DWLayoutTable-->

<tr>

<td width="161" height="20" valign="top" bgcolor="#0094DE"><div align="left"><img src="images/table_corner_l_b. gif" width="15" height="15"></div>

</td>

<td width="26" valign="top"><! - -DWLayoutEmptyCell-->&nbsp; </td>

<td width="614" align="right" valign="top"><div align="right"><span class="textonlightblue">дизайн студии <a class="notunder"

href=mailto: andrewnik@mail. ru>&lt; A&D-STYLE&gt; </a></span></div></td>

<td width="16" valign="top"><div align="right"><span class="textonblue"></span></div></td>

</tr>

</table>

<? include "menu_adm. php"? >

Б.6 Листинг модуля "menu. php"

<html>

<head>

<title>Untitled Document</title>

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

<meta http-equiv=Content-Language content=ru>

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

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

</head>

<body>

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

<table cellspacing=0 cellpadding=0 border=0 id=menu_table>

<tr valign=top>

<td width="20"><a href=index. php title="Домашняя страница"><img src="images/home. gif" width="16" height="16" border="0"></a></td>

<td class=brbt><a class=m onclick="subnews. className='menuclick'; this. blur(); " href=news. php><img src="images/l_corner. gif" width="8" height="8"

border="0"> новости</a>

<div class=menuc id=subnews><img width=1 height=2></div></td>

<td class=brbt><a class=m onclick="subcourses. className='menuclick'; popcourses. style. visibility='hidden'; this. blur(); " onmouseover="popup(event, this,

'popcourses'); " onmouseout="popdown_1(event, this, 'popcourses'); " id=menuleft href=courses. php><img src="images/l_corner. gif" width="8" height="8"

border="0"> курсы</a>

<div class=menuc id=subcourses><img width=1 height=2></div></td>

<td class=brbt><a class=m onclick="subtraining. className='menuclick'; poptraining. style. visibility='hidden'; this. blur(); " onmouseover="popup(event,

this, 'poptraining'); " onmouseout="popdown_1(event, this, 'poptraining'); " href=courses_organization. php><img src="images/l_corner. gif" width="8"

height="8" border="0"> <b>обучение</b></a>

<div class=menuc id=subtraining><img width=1 height=2></div></td>

<td class=brbt><a class=m onclick="subcontacts. className='menuclick'; popdate. style. visibility='hidden'; this. blur(); " onmouseover="popup(event, this,

'popcontacts'); " onmouseout="popdown_1(event, this, 'popcontacts'); " href=contacts. php><img src="images/l_corner. gif" width="8" height="8" border="0">

общение

</a><div class=menuc id=subcontacts><img width=1 height=2></div>

<td class=brbt><a class=m onclick="subabout. className='menuclick'; popabout. style. visibility='hidden'; this. blur(); " onmouseover="popup(event, this,

'popabout'); " onmouseout="popdown_1(event, this, 'popabout'); " href=about_info. php><img src="images/l_corner. gif" width="8" height="8" border="0">

о&nbsp; проекте</a>

<div class=menuc id=subabout><img width=1 height=2></div></td>

<td class=brbt><a class=m onclick="subdown. className='menuclick'; this. blur(); " href=download. php><img src="images/l_corner. gif" width="8" height="8"

border="0"> download</a>

<div class=menuc id=subdown><img width=1 height=2></div></td>

<td class=brbt><a class=m onclick="substudent. className='menuclick'; popstudent. style. visibility='hidden'; this. blur(); " onmouseover="popup(event, this,

'popstudent'); " onmouseout="popdown_1(event, this, 'popstudent'); " href=student. php><img src="images/l_corner. gif" width="8" height="8" border="0">

студенту</a>

<div class=menuc id=substudent><img width=1 height=2></div></td>

</tr></table>

</body>

</html>

Приложение В Листинги модуля тестирования

В.1 Листинг модуля "training_check_registration_right. php"

<table width="100%" border="0" cellpadding="3" cellspacing="0">

<tr>

<td width="100%" valign="top" bgcolor="#F9FDFF">

<span class="textheader"> РЕГИСТРАЦИЯ </span>

</td>

</tr>

<tr>

<td>

<?

$submit = 1; // флаг передачи

$dataComplite= 1; // проверка данных

$err_note="2"; // сообщение об ошибке

$qs=""; // строка передачи данных

global $qs,$r_lastname,$r_firstname,$r_middlename,$r_login,$r_pass,$r_pass_c,$r_student_code,$r_sex,$r_n_group,$r_email;

function check_email($str) {

//возвращает 1 если адрес допустим

if (ereg ("^. +@. +\\. +$",$str)) {

return 1;

}

else {

return 0;

}

}

function check_form() {

global $qs,$err_note,$submit, $dataComplite,$r_lastname,$r_middlename,$r_firstname,$r_login,$r_pass,$r_pass_c,$r_student_code,$r_sex,$r_n_group,$r_email;

if ($dataComplite== 1) {

if(! $r_lastname) {

$err_note = "не введена фамилия";

$dataComplite= 0;

}

}

if ($dataComplite== 1) {

if(! $r_firstname) {

$err_note = "не введено имя";

$dataComplite= 0;

}

}

if ($dataComplite== 1) {

if(! $r_middlename) {

$err_note = "не введено отчество";

$dataComplite= 0;

}

}

if ($dataComplite== 1) {

if(! $r_login) {

$err_note = "не введен login";

$dataComplite= 0;

}

}

if ($dataComplite== 1) {

if($r_pass<>$r_pass_c) {

$err_note = "введенные пароли не совпадают";

$dataComplite= 0;

}

}

if ($dataComplite== 1) {

if(! $r_pass) {

$err_note = "не введен пароль";

$dataComplite= 0;

}

}

if ($dataComplite== 1) {

if(! $r_pass_c) {

$err_note = "не введен проверочный пароль";

$dataComplite= 0;

}

}

if ($dataComplite== 1) {

if(! $r_student_code) {

$err_note = "не введен код студента";

$dataComplite= 0;

}

}

if ($dataComplite== 1) {

if(! $r_n_group) {

$err_note = "не введен номер группы";

$dataComplite= 0;

}

}

if ($dataComplite== 1) {

if(! $r_email) {

$err_note = "не введен адрес электронной почты";

$dataComplite= 0;

}

else {

if (check_email($r_email) ==0) {

$err_note = "не правильно введен адрес электронной почты";

$dataComplite= 0;

}

}

}

if ($dataComplite== 1) {

require "option. php";

mysql_connect($SERVER,$USER,$PASSWD) or die(mysql_error());

mysql_select_db($DB);

$sqlstr = "SELECT login FROM users WHERE login='". $r_login. "'; ";

$res=mysql_query($sqlstr);

if (mysql_fetch_row($res)) {

$err_note = "в системе уже используется данный login";

$dataComplite= 0;

}

}

if ($dataComplite== 1) {

require "option. php";

mysql_connect($SERVER,$USER,$PASSWD) or die(mysql_error());

mysql_select_db($DB);

$sqlstr = "SELECT student_code FROM users WHERE student_code='". $r_student_code. "'; ";

$res=mysql_query($sqlstr);

if (mysql_fetch_row($res)) {

$err_note = "в системе уже используется данный код студента";

$dataComplite= 0;

}

}

if ($dataComplite== 1) {

require "option. php";

mysql_connect($SERVER,$USER,$PASSWD) or die(mysql_error());

mysql_select_db($DB);

$sqlstr = "SELECT student_code FROM correct_codes WHERE student_code='". $r_student_code. "'; ";

$res=mysql_query($sqlstr);

if (! (mysql_fetch_row($res))) {

$err_note = "преподаватель запретил доступ к системе обучения";

$dataComplite= 0;

}

}

if ($dataComplite== 1) {

$qs = "? r_lastname=". urlencode($r_lastname).

"&r_firstname=". urlencode($r_firstname).

"&r_middlename=". urlencode($r_middlename).

"&r_login=". urlencode($r_login).

"&r_pass=". urlencode($r_pass).

"&r_student_code=". urlencode($r_student_code).

"&r_n_group=". urlencode($r_n_group).

"&r_email=". urlencode($r_email).

"&r_sex=". urlencode($r_sex).

"&r_registration_date=". urlencode(date("Y/m/d")).

"&user_login=0";

return 1;

}

}

include "body_list_header. php";

echo "Регистрационная форма | Проверка введенной информации ";

include "body_list_after_header. php";

$LoginScript = "training. php";

echo "<form name=\"form_reg\" style=\"margin: 0px\">";

echo "<span class=\"textonlightblue\"><b>Фамилия: </b></span><br>";

echo "<span class=\"textonOrrange\"><b>$r_lastname</b></span><br>";

echo "<span class=\"textonlightblue\"><b>Имя: </b></span><br>";

echo "<span class=\"textonOrrange\"><b>$r_firstname</b></span><br>";

echo "<span class=\"textonlightblue\"><b>Отчество: </b></span><br>";

echo "<span class=\"textonOrrange\"><b>$r_middlename</b></span><br>";

echo "<span class=\"textonlightblue\"><b>login: </b></span><br>";

echo "<span class=\"textonOrrange\"><b>$r_login</b></span><br>";

echo "<span class=\"textonlightblue\"><b>пароль: </b></span><br>";

echo "<span class=\"textonOrrange\"><b>$r_pass</b></span><br>";

echo "<span class=\"textonlightblue\"><b>Код студента: </b></span><br>";

echo "<span class=\"textonOrrange\"><b>$r_student_code</b></span><br>";

echo "<span class=\"textonlightblue\"><b>№ группы: </b></span><br>";

echo "<span class=\"textonOrrange\"><b>$r_n_group</b></span><br>";

echo "<span class=\"textonlightblue\"><b>Пол: </b></span><br>";

echo "<span class=\"textonOrrange\"><b>$r_sex</b></span><br>";

echo "<span class=\"textonlightblue\"><b>Почта: </b></span><br>";

echo "<span class=\"textonOrrange\"><b>$r_email</b></span><br>";

echo "</form>";

if (check_form() ==0) {

echo "<form name=\"form_err\" style=\"margin: 0px\">";

include "body_list_footer. php";

include "body_list_header. php";

echo "Возникла ошибка при вводе данных ";

include "body_list_after_header. php";

echo "<span class=\"textrederror\"> $err_note </span>";

echo "<hr class=hr_onlightblue_orange></hr>";

echo "<input type=\"button\" name=\"back\" style=\"height: 18\" class=\"buttonOrange\" value=\"возврат\" onClick=\"self. history. back(); \">";

include "body_list_footer. php";

}

else {

$surl= "training. php". $qs;

echo "<form method=post action=\"$surl \" name=\"form_but\" style=\"margin: 0px\">";

echo "<hr class=hr_onlightblue_orange></hr>";

echo "<input type=\"button\" name=\"back\" style=\"height: 18\" class=\"buttonOrange\" value=\"возврат\" onClick=\"self. history. back(); \">|";

echo "<input type=\"submit\" style=\"height: 18\" class=\"buttonOrange\" value=\"оК\">";

include "body_list_footer. php";

}

echo "</form>";

? >

</td>

<div id="error_input"

style="position: absolute;

width: 220px;

top: 45%;

left: 45%;

background: #8AD9FF;

font-size: 11px;

border: 1px solid #0094DE;

padding: 1px;

z-index: 1">

<form name="form_err" style="margin: 0px">

<span class="textonLightBlue"><b>При вводе произошла ошибка: </b></span><br>

<div style="background: white; padding: 2px">

<span class="textrederror">$err_note</span><br>

<input type="button" align="middle" style="height: 18" class="buttonBlue" value="исправить" onClick="hiddeLayer()">

</form> </div>

</div>

</tr>

</table>

В.2 Листинг модуля " training_test_right. php"

<table width="100%" border="0" cellpadding="3" cellspacing="0">

<tr>

<td width="100%" valign="top" bgcolor="#F9FDFF">

<span class="textheader"> ПРОХОЖДЕНИЕ ТЕСТОВ </span>

</td>

</tr>

<tr>

<td>

<?

include "body_list_header. php";

$TestScript="training_test. php";

require "option. php";

mysql_connect($SERVER,$USER,$PASSWD) or die(mysql_error());

mysql_select_db($DB);

if ($q_count>1 && $q_count<7) {

//проверка ответов на правильность

if ($q_count==6) {

echo "Информация по тестам";

}

else {

echo "Выберите ответ на вопрос №". $q_count;

}

include "body_list_after_header. php";

$str_answer ="SELECT * FROM answers WHERE n_question='";

if ($q_count==2) {

$str_answer = $str_answer. $q_1. "' AND id_answer='";

}

elseif ($q_count==3) {

$str_answer = $str_answer. $q_2. "' AND id_answer='";

}

elseif ($q_count==4) {

$str_answer = $str_answer. $q_3. "' AND id_answer='";

}

elseif ($q_count==5) {

$str_answer = $str_answer. $q_4. "' AND id_answer='";

}

else {

$str_answer = $str_answer. $q_5. "' AND id_answer='";

}

//проверка ответа 1

$str_answer_full = $str_answer. $id_a_1. "'";

$res_answer = mysql_query($str_answer_full);

$row_answer = mysql_fetch_row($res_answer);

if ($row_answer [3] =='y') {

if (isset($a_1)) {

$r_count_1=1;

}

else {

$r_count_1=0;

}

}

else {

if (! (isset($a_1))) {

$r_count_1=1;

}

else {

$r_count_1=0;

}

}

//проверка ответа 2

$str_answer_full = $str_answer. $id_a_2. "'";

$res_answer = mysql_query($str_answer_full);

$row_answer = mysql_fetch_row($res_answer);

if ($row_answer [3] =='y') {

if (isset($a_2)) {

$r_count_2=1;

}

else {

$r_count_2=0;

}

}

else {

if (! (isset($a_2))) {

$r_count_2=1;

}

else {

$r_count_2=0;

}

}

//проверка ответа 3

$str_answer_full = $str_answer. $id_a_3. "'";

$res_answer = mysql_query($str_answer_full);

$row_answer = mysql_fetch_row($res_answer);

if ($row_answer [3] =='y') {

if (isset($a_3)) {

$r_count_3=1;

}

else {

$r_count_3=0;

}

}

else {

if (! (isset($a_3))) {

$r_count_3=1;

}

else {

$r_count_3=0;

}

}

//проверка ответа 4

$str_answer_full = $str_answer. $id_a_4. "'";

$res_answer = mysql_query($str_answer_full);

$row_answer = mysql_fetch_row($res_answer);

if ($row_answer [3] =='y') {

if (isset($a_4)) {

$r_count_4=1;

}

else {

$r_count_4=0;

}

}

else {

if (! (isset($a_4))) {

$r_count_4=1;

}

else {

$r_count_4=0;

}

}

//проверка ответа 5

$str_answer_full = $str_answer. $id_a_5. "'";

$res_answer = mysql_query($str_answer_full);

$row_answer = mysql_fetch_row($res_answer);

if ($row_answer [3] =='y') {

if (isset($a_5)) {

$r_count_5=1;

}

else {

$r_count_5=0;

}

}

else {

if (! (isset($a_5))) {

$r_count_5=1;

}

else {

$r_count_5=0;

}

}

//проверка в общей сложности

$r_count_1=$r_count_1*$r_count_2*$r_count_3*$r_count_4*$r_count_5;

if ($r_count_1==1) {

echo "Вы правильно ответили на предыдущий вопрос <br>";

$r_count++;

}

else {

echo "Вы не правильно ответили на предыдущий вопрос <br>";

}

echo "<hr color=\"#FFDFBF\" size=\"1\" style=\"border-style: dotted\"></hr>";

$r_percent = $r_count/5*100;

if ($q_count==6) {

echo "Вы правильно ответили на ". $r_count. " из 5 вопросов. <br>Процент правильных ответов ". $r_percent. "%. <br><br>";

$res_user_tests=mysql_query("SELECT * FROM user_tests WHERE n_user_course='". $id_course. "' AND n_course_part='". $id_part. "'");

$row_user_tests = mysql_fetch_row($res_user_tests);

if ($row_user_tests [4] >$r_percent) {

$r_percent=$row_user_tests [4] ;

}

$user_tests_SQL = "UPDATE user_tests SET percent='". $r_percent. "', last_test_date='". date("Y/m/d"). "' WHERE n_user_course='". $id_course. "' AND n_course_part='". $id_part. "'";

mysql_query($user_tests_SQL);

if ($r_percent>=70) {

echo "Тест успешно пройден<br>";

$res_user_courses2=mysql_query("SELECT * FROM user_courses WHERE id_user_course='". $id_course. "'");

$row_user_courses2=mysql_fetch_row($res_user_courses2);

$res_course_parts2=mysql_query("SELECT * FROM course_parts WHERE n_course='". $row_user_courses2 [2]. "'");

$res_user_tests2=mysql_query("SELECT * FROM user_tests WHERE n_user_course='". $id_course. "'");

if (mysql_num_rows($res_course_parts2) == mysql_num_rows($res_user_tests2)) {

//$res_user_courses3=mysql_query("SELECT * FROM user_courses WHERE id_user_course='". $id_course. "'");

//$row_user_courses3 = mysql_fetch_row($res_user_tests3);

$user_courses_SQL = "UPDATE user_courses SET status='end', end_date='". date("Y/m/d"). "' WHERE id_user_course='". $id_course. "'";

mysql_query($user_courses_SQL);

};

}

else {

echo "Вы не прошли тест";

$res_user_tests = mysql_query("SELECT * FROM user_tests WHERE n_user_course='". $id_course. "' AND n_course_part='". $id_part. "'");

$row_user_tests = mysql_fetch_row($res_user_tests);

if ($row_user_tests [3] >2) {

//$res_user_courses=mysql_query("SELECT * FROM user_courses WHERE id_user_course='". $id_course. "'");

//$row_user_courses = mysql_fetch_row($res_user_courses);

$user_courses_SQL = "UPDATE user_courses SET status='not', end_date='". date("Y/m/d"). "' WHERE id_user_course='". $id_course. "'";

mysql_query($user_courses_SQL);

}

}

echo "<hr color=\"#FFDFBF\" size=\"1\" style=\"border-style: dotted\"></hr>";

echo "<a class=\"light\" href=\"training. php\">на личную страницу<a>";

}

}

if ($q_count>0 && $q_count<6) {

//прорисовка вопросов - ответов

if ($q_count==1) {

$res_user_tests=mysql_query("SELECT * FROM user_tests WHERE n_user_course='". $id_course. "' AND n_course_part='". $id_part. "'");

if (mysql_num_rows($res_user_tests) ==0) {

$user_tests_SQL = "INSERT INTO user_tests values('0','". $id_course. "','". $id_part. "','1','0','". date("Y/m/d"). "')";

mysql_query($user_tests_SQL);

}

else {

$row_user_tests = mysql_fetch_row($res_user_tests);

$row_user_tests [3] ++;

if ($row_user_tests [3] <4) {

$user_tests_SQL = "UPDATE user_tests SET attemps='". $row_user_tests [3]. "', last_test_date='". date("Y/m/d"). "' WHERE n_user_course='". $id_course. "' AND n_course_part='". $id_part. "'";

mysql_query($user_tests_SQL);

}

}

echo "Выберите ответ на вопрос №". $q_count;

include "body_list_after_header. php";

}

$str_question ="SELECT * FROM questions WHERE id_question='";

if ($q_count==1) {

$res_question=mysql_query($str_question. $q_1. "'");

}

elseif ($q_count==2) {

$res_question=mysql_query($str_question. $q_2. "'");

}

elseif ($q_count==3) {

$res_question=mysql_query($str_question. $q_3. "'");

}

elseif ($q_count==4) {

$res_question=mysql_query($str_question. $q_4. "'");

}

else {

$res_question=mysql_query($str_question. $q_5. "'");

}

$row_question=mysql_fetch_row($res_question);

echo "<b>". $row_question [2]. "</b><br>";

echo "<form name=\"form_test\" action=\"$TestScript\" metod=\"get\" style=\"margin: 0px\">";

$strSQL="SELECT * FROM answers WHERE n_question='". $row_question [0]. "'";

$res_answer=mysql_query($strSQL);

//$answer_count=1;

//echo "<form>";

//

//while ($row_answer=mysql_fetch_row($res_answer)) {

//echo "<input name=\"a_". $answer_count. "\" type=\"checkbox\">". $row_answer [2] ;

//echo "<input name=\"id_a_". $answer_count. "\" type=\"hidden\" value=". $row_answer [0]. "><br>";

//$answer_count++;

//}

$mas_count=0;

while ($mas_temp=mysql_fetch_row($res_answer)) {

$mas_answer [$mas_count] [0] =$mas_temp [0] ;

$mas_answer [$mas_count] [1] =0;

$mas_count++;

}

$mas_count--;

for ($i=1; $i<=5; $i++) {

mt_srand(time());

while (true) {

$mas_index=mt_rand(0,$mas_count);

if ($mas_answer [$mas_index] [1] ==0) {

$mas_answer [$mas_index] [1] =1;

break;

}

}

$strSQL="SELECT * FROM answers WHERE id_answer='". $mas_answer [$mas_index] [0]. "'";

$res_answer=mysql_query($strSQL);

$row_answer=mysql_fetch_row($res_answer);

echo "<input name=\"a_". $i. "\" type=\"checkbox\">". $row_answer [2] ;

echo "<input name=\"id_a_". $i. "\" type=\"hidden\" value=". $row_answer [0]. "><br>";

}

echo "<input name=\"id_course\" type=\"hidden\" value=". $id_course. ">";

echo "<input name=\"id_part\" type=\"hidden\" value=". $id_part. ">";

echo "<input name=\"q_1\" type=\"hidden\" value=". $q_1. ">";

echo "<input name=\"q_2\" type=\"hidden\" value=". $q_2. ">";

echo "<input name=\"q_3\" type=\"hidden\" value=". $q_3. ">";

echo "<input name=\"q_4\" type=\"hidden\" value=". $q_4. ">";

echo "<input name=\"q_5\" type=\"hidden\" value=". $q_5. ">";

echo "<input name=\"q_count\" type=\"hidden\" value=". ++$q_count. ">";

echo "<input name=\"r_count\" type=\"hidden\" value=". $r_count. ">";

echo "<hr color=\"#FFDFBF\" size=\"1\" style=\"border-style: dotted\"></hr>";

echo "<input type=\"submit\" name=\"test_ok\" style=\"height: 18; width: 41\" class=\"buttonOrange\" value=\"ОК\">";

echo "</form>";

}

include "body_list_footer. php";

? >

</td>

</tr>

</table>

Приложение Г Листинги модуля администрирования

Г.1 Листинг модуля "admin_edit. php"

<html>

<head>

<title> Remote Learning Institute | Administration</title>

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

</head>

<body>

<?

include "header. php";

$ScriptAdmAdd="admin_add. php";

$ScriptAdmDel="admin_del. php";

$ScriptAdmMdf="admin_update. php";

global $SelectT;

echo "<table width=\"835\" border=\"0\" cellpadding=\"3\" background=\"#FAF1D8\" cellspacing=\"0\" >";

echo "<tr><td>";

include "body_list_header. php";

echo "Редактирование таблиц данных: ";

include "body_list_after_header. php";

echo "<table splitcell=3><tr>";

require "option. php";

mysql_connect($SERVER,$USER,$PASSWD) or die(mysql_error());

mysql_select_db($DB);

$ListF=mysql_list_fields($DB,$SelectT);

$CounterF=0;

while ($CounterF < mysql_num_fields($ListF)) {

$stItem=mysql_field_name($ListF,$CounterF);

$CounterF++;

$massField [$CounterF] =$stItem;

echo "<td bgcolor=#ffcc00 class=\"textblockBlue\">$massField [$CounterF] </td>";

}

echo "<td bgcolor=#ffcc00 class=\"textblockBlue\">редактировать</td>";

echo "</tr><tr>";

$strSQL ="SELECT * FROM ". $SelectT. "; ";

$res=mysql_query($strSQL);

while ($Row=mysql_fetch_row($res)) {

for ($CounterF=0; $CounterF< mysql_num_fields($ListF); $CounterF++) {

echo "<td class=\"textblockBlue\">$Row [$CounterF] </td>";

}

echo "<td class=\"table_admin\" align=\"center\">";


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

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