Tsid*
|
Код
настроек
|
Int
|
Random
|
Случайный
порядок для вопросов
|
Int
|
Bin_setting
|
Настройки
теста
|
Int
|
View_res
|
Отображение
результатов
|
Int
|
View_good_res
|
Отображение
правильных результатов
|
Int
|
Count_try
|
Число
попыток
|
Int
|
Date_start
|
Дата
начала тестирования
|
Date
|
Date_stop
|
Дата
окончания тестирования
|
Date
|
Percent
|
Процент
прохождения теста
|
Int
|
P_good
|
Текст
при положительном результате
|
Text
|
P_bad
|
Текст
при отрицательном результате
|
Text
|
Таблица Test_settings содержит в себе информацию
о настройках теста.
Таблица 7 - Test_comment
Tsid*
|
Tcid*
|
Код
настроек
|
Код
комментариев
|
Int
|
int
|
Таблица содержит информацию о том, каким
настройкам соответствуют какие комментарии.
Таблица 8 - Comment
Tcid*
|
Percent_min
|
Body
|
Percent_max
|
title
|
Код
комментария
|
Минимальный
процент
|
Текст
оценки
|
Максимальный
процент
|
Название
оценки
|
Int
|
Int
|
Text
|
Int
|
Varchar(50)
|
Таблица хранит в себе комментарии по результату
прохождения теста.
Таблица 9 - User_comment
Uid*
|
Tcid*
|
Код
пользователя
|
Код
коментария
|
Int
|
int
|
Таблица хранит информацию о том, какому
пользователю присваивается данный комментарий.
Таблица 10 - Session
Sid*
|
Uid
|
Session
|
Код
сессии
|
Код
пользователя
|
Информация
о сессии
|
Int
|
Int
|
text
|
Таблица хранит информацию о сессии пользователя.
Таблица 11 - Results
Uid*
|
Qid*
|
Tid*
|
Percent
|
Ball
|
Код
пользователя
|
Код
вопроса
|
Код
теста
|
Процент
|
Балл
|
Int
|
Int
|
Int
|
Int
|
Int
|
Таблица хранит информацию о результатах
пройденного теста.
Таблица 12 - Test_question
Tid*
|
Qid*
|
Код
теста
|
Код
вопроса
|
Int
|
int
|
Таблица содержит список соответствия между
тестами и вопросами.
Таблица 13 - Question
Qid*
|
Body
|
Sid
|
Tid
|
Код
вопроса
|
Текст
вопроса
|
Настройки
вопроса
|
Тип
вопроса
|
Int
|
Text
|
Int
|
int
|
Таблица содержит список вопросов.
Таблица 14 - Types
Tid*
|
Sid
|
Title
|
Код
типа вопроса
|
Код
настроек
|
Заголовок
|
Int
|
Int
|
Varchar(50)
|
Таблица содержит список типов вопросов.
Таблица 15 - Setting
Sid*
|
Multy
|
Random
|
Код
настроек
|
Множественный
выбор ответов
|
Случайный
порядок для ответов
|
Int
|
int
|
Int
|
Таблица содержит настройки к текущему вопросу.
Таблица 16 - Aidqid
Aid*
|
Qid*
|
Код
ответа
|
Код
вопроса
|
Int
|
int
|
Таблица хранит все ответы к текущему вопросу.
Таблица 17 - Answer
Aid*
|
Body
|
Answer
|
Код
ответа
|
Текст
ответа
|
Маркер
правильного ответа
|
Int
|
Text
|
int
|
Таблица содержит в себе правильный ответ.
Таблица 18 - Test_term
Test_id*
|
Term_id*
|
Код
теста
|
Код
термина
|
Int
|
Int
|
Таблица содержит в себе информацию о том, к
какому термину принадлежит какой тест.
Таблица 19 - Termin
Tid*
|
Title
|
Код
термина
|
Заголовок
|
Int
|
Varchar(50)
|
Таблица хранит список терминов для
категорирования тестов.
Таблица 20 - Vidtid
Vid*
|
Tid*
|
Код
словаря
|
Код
термина
|
Int
|
Таблица содержит информацию о том, к какому
словарю относится какой термин.
Таблица 21 - Vocabulary
Vid*
|
Title
|
Код
словаря
|
Заголовок
|
Int
|
Varchar(50)
|
Таблица содержит категории терминов.
2.2 Диаграмма
модели «сущность-связь»
Диаграмма, показывающая связи между таблицами
показана на рисунке 1.
Рисунок 1 - Диаграмма модели «сущность-связь».
2.3 Список объектов
и их свойств
Предметная область включает в себя следующие
предметы и их свойства.
а) Список пользователей. Поля:
) Код пользователя
) Ф.И.О. пользователя
) Логин
) Пароль
) Электронный адрес
б) Список соответствия привилегий и
пользователей. Поля:
) Код пользователя
) Код привилегии
в) Список привилегий пользователей. Поля:
) Код привилегии
) Название привилегии
г) Список соответствия привилегий и
тестов. Поля:
) Код теста
) Код привилегии
д) Список тестов. Поля:
) Код теста
) Название теста
) Описание теста
) Код настроек для текущего теста
е) Список настроек текущего теста. Поля:
) Код настроек
) Случайный порядок для вопросов
) Основные настройки теста
) Результаты ответов на вопросы
) Правильные ответы
) Число попыток
) Дата доступности теста
) Дата блокировки теста
) Проход теста в процентах
) Текст при положительном результате
) Текст при отрицательном результате
ж) Список соответствия настроек к тесту и
комментариев. Поля:
) Код настроек
) Код комментариев
з) Список комментариев по результату.
Поля:
) Код комментариев
) Минимальный процент
) Текст при достижении минимального
процента
) Максимальный процент
) Заголовок результата
и) Список соответствия пользователей и
комментариев по результатам. Поля:
) Код комментария
) Код пользователя
к) Список сессий. Поля:
) Код сессии
) Код пользователя
) Информация о сессии пользователя
л) Список результатов по тесту. Поля:
) Код пользователя
) Код вопроса
) Код теста
) Процент правильных ответов
) Балл
м) Список соответствия между тестами и
вопросами. Поля:
) Код теста
) Код вопроса
н) Список вопросов. Поля:
) Код вопроса
) Текст вопроса
) Тип вопроса
) Настройки для текущего вопроса
о) Список типов вопросов. Поля:
) Код типа вопроса
) Код настроек
) Заголовок типа вопроса
п) Список настроек для вопроса. Поля:
) Код настроек
) Множественный выбор ответов
) Случайный порядок для ответов
р) Список ответов к текущему вопросу. Поля:
) Код вопроса
) Код ответа
с) Таблица с правильным ответом. Поля:
) Код ответа
) Текст ответа
) Маркер правильного ответа
т) Список соответствия терминов и тестов.
Поля:
) Код теста
) Код термина
у) Список терминов для категорирования
тестов. Поля:
) Код термина
) Заголовок термина
ф) Список соответствия словарей и терминов.
Поля:
) Код словаря
) Код термина
х) Список словарей. Поля:
) Код словаря
) Название словаря
2.4
Описание процессов
2.4.1 Регистрация
Процесс регистрации показан на рисунке 2.
Рисунок 2 - Регистрация пользователя в системе.
.4.2
Тестирование
Процесс тестирования показан на рисунке 3.
Рисунок 3 - Тестирование.
2.4.3 Формирование
статистики
Процесс формирования статистики показан на
рисунке 4.
Рисунок 4 - Формирование статистики.
2.4.4 Защита от
несанкционированного доступа
Процесс защиты основан на генерации «капчи».
«Капча» - от англ. CAPTCHA, «Completely Automated Public Turing test to tell
Computers and Humans Apart» - «полностью автоматизированный публичный тест
Тьюринга для различия компьютеров и людей». Тест, используемый для того, чтобы
определить, кем является пользователь системы: человеком или компьютером.
Процесс генерации «капчи» показан на рисунке 5.
Рисунок 5 - Процесс генерации «капчи».
2.4.5 Массовая
регистрация пользователей
Процесс массовой регистрации пользователей
показан на рисунке 6.
Рисунок 6 - Массовая регистрация пользователей.
2.4.6 Создание теста
Процесс создания теста показан на рисунке 7.
Рисунок 7 - Создание теста.
2.4.7 Создание вопроса
Процесс создания вопроса показан на рисунке 8.
Рисунок 8 - Создание вопроса.
2.5 Зависимости ПС
Для работы приложения на стороне сервера
необходимо:
– WEB-сервер Apache.
– Библиотека PHP.
– База данных MySQL.
– Поддержка браузерами HTML 5.0, CSS 3.0,
JavaScript 2.0 и jQuery 1.6.
Для работы приложения на стороне клиента
необходимо:
– Internet Explorer (версия 6.0 и выше).
– Opera (версия 7.0 и выше).
– Mozilla Firefox (версия 2.0 и выше).
– Google Chrome.
3. ОПИСАНИЕ ПРОГРАМНОГО СРЕДСТВА
3.1 Сведения о работе ПС
Ниже будут описаны основные моменты о работе ПС.
3.1.1 Учетная запись
незарегистрированного пользователя
Любой пользователь, зашедший на сайт
тестирования, будет видеть главную страницу (см. рисунок 9).
Рисунок 9 - Главная страница.
На главной странице отображается блок
регистрации и авторизации, механизм защиты «капча», а так же созданные тесты.
Незарегистрированный пользователь может пройти тестирование только тех тестов,
которые на данный момент доступны. Он может использовать блок категорирования
по дисциплинам и специальностям для быстрого поиска интересующих тестов (см.
рисунок 10).
Рисунок 10 - Категорирование тестов.
Незарегистрированный пользователь может
проходить только пробные тесты, либо те, что потеряли свою актуальность.
3.1.2 Учетная запись
зарегистрированного пользователя
Каждый зарегистрированный пользователь может
пройти тестирование по интересующей его дисциплине (см. рисунок 11). Учетная
запись зарегистрированного пользователя отличается от учетной записи
незарегистрированного пользователя тем, что результаты прохождения его теста
будут сохранены в БД.
Рисунок 11 - Учетная запись зарегистрированного
пользователя.
3.1.3 Учетная запись
преподавателя
Преподаватель - это пользователь системы,
наделенный определенными правами доступа и привилегиями (см. рисунок 12).
Рисунок 12 - Учетная запись преподавателя.
На рисунке 12 показан блок создания материалов
(тестов и вопросов), а так же все раннее созданные тесты.
Преподаватель может создавать, удалять и
редактировать тесты и вопросы. Имеет доступ к результатам тестирования. Может
создавать свои словари и термины в них. А так же может выставлять свой бал за
каждый полностью правильный ответ.
3.1.4 Учетная запись
администратора
Администратор обладает всеми теми же правами и
привилегиями что и преподаватель, кроме одной особенности. Только администратор
имеет право делать из зарегистрированного пользователя преподавателя (см.
рисунок 13).
Рисунок 13 - Аккаунт преподавателя.
3.2 Порядок
использования ПС
Когда пользователь захочет зарегистрироваться
ему будет представлена форма (см. рисунок 14) на которой отображены поля имени
пользователя, его электронного адреса и пароля для входа в систему.
Рисунок 14 - Форма регистрации.
После успешной регистрации пользователю на
электронный ящик будет выслано сообщение с подтверждением о регистрации, а
затем будет осуществлен переход на форму главной страницы (см. рисунок 15). На
главной странице отображены поля поиска по сайту, блок создания различных
материалов, список существующих материалов, а так же блок категорирования по
разным терминам.
Рисунок 15 - Форма главной страницы.
Далее администратор системы наделяет этого
пользователя правами преподавателя, тем самым давая ему возможности создания,
удаления и редактирования тестов и вопросов в них. Создание новых вопросов и
назначение каждому вопросу свой бал за полностью правильный ответ. Доступ к
результатам тестирования и создание словарей и терминов в них.
3.2.1 Создание теста
Для того чтобы начать создание теста, необходимо
выбрать в блоке «Создание материала» пункт «Тест» (см. рисунок 16).
Рисунок 16 - Меню пользователя.
Далее Вы попадете на форму создания теста (см.
рисунок 17).
Рисунок 17 - Создание материала «Тест».
На этой форме Вы можете указать название теста,
соотнести его к какому-либо словарю и дать описание для теста. Далее идут
гибкие настройки тестирования (см. рисунок 18).
Рисунок 18 - Настройка тестирования.
В настройках тестирования Вы можете выбрать
следующие пункты:
– Возобновить тест. Если пользователь
вдруг случайно перешел на другую страницу или закрыл тестирование, он сможет
вернуться к тому месту, где остановился, с сохранением всех предыдущих ответов.
– Разрешить пропустить вопрос. Этот пункт
позволит пропустить вопросы в тесте.
– Разрешить переключаться между вопросами.
Если пользователь пропустил сложные вопросы, он всегда сможет к ним быстро
вернуться с помощью выпадающего окна списка вопросов.
– Повторить вопрос, если дан не правильный
ответ. Этот пункт можно использовать для пробного тестирования. Если он
отмечен, то система не позволить пользователю перейти к следующему вопросу пока
не будет дан правильный ответ на текущий вопрос.
– Сортировать вопросы в случайном порядке.
Если отмечен пункт «Случайный порядок», то все вопросы будут сортироваться
случайным образом.
Если вам захочется показать результаты
прохождения теста пользователю, то Вы можете выбрать следующие настройки:
– В конце теста.
– После каждого вопроса.
– Не показывать.
– Показывать правильные ответы. Если в
этом пункте стоит галочка, то пользователь увидит правильные ответы. Применять
данную настройку можно при прохождении пробного тестирования по какой-либо дисциплине.
Вы можете установить настройки доступности теста
(см. рисунок 19).
Рисунок 19 - Настройки доступности теста.
На этой форме Вы можете выбрать количество
попыток прохождения текущего теста, а так же настроить период его доступности
для пользователей. Вы можете указать какие результаты хранить по каждому
пользователю в БД.
Если Вы хотите определить порог прохождения
теста, то это можно сделать с помощью формы прохождения теста в процентах (см.
рисунок 20).
Рисунок 20 - Форма прохождения теста в
процентах.
Также Вы можете ввести определенный текст,
который будет выводиться на экран при достижении какого-либо результата. Если
же Вам нужна более гибкая шкала оценки, Вы можете воспользоваться расширенной
формой процентной настройки (см. рисунок 21).
Рисунок 21 - Расширенная настройка оценки.
Здесь Вы можете указать наименование оценки, ее
процентный минимум и максимум, и ввести текст который будет выводиться на экран
при достижении данного результата. И в конце процесса создания теста Вы можете
сохранить все свои настройки, чтобы в следующий раз они были по умолчанию.
3.2.2 Создание вопроса
После того как тест был создан можно приступить
к созданию вопросов для него. Для этого необходимо выбрать в меню пользователя
(см. рисунок 16) пункт «Создание материала». Перед вами откроется форма
создания различных типов материалов (см. рисунок 22).
Рисунок 22 - Создание материалов.
Вы можете выбрать различные типы вопросов,
которые Вы бы хотели включить в свое тестирование: вопрос с одним или
несколькими правильными ответами, вопрос с рукописным ответом, вопрос - соответствие,
включающий в себя вопрос - порядок.
Для создания вопроса с одним или несколькими
правильными ответами необходимо кликнуть мышью на надпись «Вопрос с несколькими
правильными ответами», после чего перед Вами откроется форма создания данного
типа вопросов (см. рисунок 23).
Рисунок 23 - Форма создания вопроса с
несколькими правильными ответами.
В данной форме Вы можете ввести текст своего
вопроса и выбрать настройки для ответа. Пункт «Множественный ответ» указывает
на то, сколько правильных ответов в данном вопросе, один или несколько. Если
галочки рядом с данным пунктом нет, значит вопрос с несколькими правильными
ответами автоматически становится вопросом с одним правильным ответом. Пункт
«Случайный порядок» позволяет сортировать ответы по данному вопросу в случайном
порядке, что поможет исключить возможность подсказки студентов друг другу.
После того, как Вы указали все настройки, Вам необходимо указать правильные
ответы для этого вопроса (см. рисунок 24).
Рисунок 24 - Форма правильных ответов для
вопроса с многими правильными ответами.
На этой форме вы можете указать огромное
количество вариантов ответа для данного вопроса, а затем добавить вопрос в уже
существующий тест или в несколько тестов, или же создать для данного вопроса
новый тест.
Для создания вопроса с рукописным ответом
выбираем в меню пользователя (см. рисунок 16) соответствующий пункт. Перед Вами
появиться форма создания вопроса с рукописным текстом (см. рисунок 25).
Рисунок 25 - Форма создания вопроса с рукописным
ответом.
На данной форме достаточно просто ввести текст
вопроса и определить, к какому тесту будет относиться этот вопрос. Суть вопроса
с рукописным ответом состоит в том, что после прохождения теста пользователем,
преподавателю придется проверить этот ответ лично, и поставить соответствующий
бал. Затем Вы можете добавить вопрос в уже существующий тест или в несколько
тестов, или же создать для данного вопроса новый тест.
Для создания вопроса - соответствия выбираем в
меню пользователя (см. рисунок 16) соответствующий пункт. Перед Вами появиться
форма создания вопроса - соответствия (см. рисунок 26).
Рисунок 26 - Форма создания вопроса
соответствия.
На данной форме Вам нужно указать пояснение к
подвопросам, чтобы пользователь понял, как ему отвечать на вопрос. Этот тип
вопроса, можно легко превратить в вопрос - порядок, если вместо подвопросов
поставить числа. Затем Вы можете добавить вопрос в уже существующий тест или в
несколько тестов, или же создать для данного вопроса новый тест.
После того, как все вопросы созданы, и часть из
них добавлена в тест, вы можете добавить оставшиеся вопросы в интересующие вас
тесты с помощью пункта «Управление вопросами». Для этого нужно зайти в
интересующий вас тест и перейти по соответствующей ссылке в форму управления
вопросами (см. рисунок 27).
Рисунок 27 - Форма управления вопросами.
На данной форме Вы можете увидеть все вопросы,
которые уже добавлены в тест, их тип и максимальное количество баллов за
полностью правильный ответ, а так же список вопросов, которые не включены ни в
один тест. Затем Вы можете добавить интересующие Вас вопросы в свой тест.
После того, как Ваш тест полностью готов для
тестирования нужно зарегистрировать студентов в системе. Для этого используется
массовая регистрация пользователей (см. рисунок 28).
Рисунок 28 - Массовая регистрация пользователей.
На этой форме Вам необходимо указать уникальный
префикс, который в дальнейшем будет использован как логин, и указать термины в
словарях, по которым будет идти выборка для выделения пароля и логина для входа
в систему. А так же нужно указать количество пользователей, для которых нужно
выделить логины и пароли.
Теперь пользователь может проходить
тестирование.
тестирование
студент сайт настройка
3.2.3 Тестирование
Пользователю необходимо выбрать тест и нажать
кнопку «Начать тестирование», после чего, запустится тестирование (см. рисунок
29).
Рисунок 29 - Тестирование.
После того, как пользователь прошел тестирование
на экране появится его результат.
Преподаватель имеет возможность просмотреть все
результаты по всем пользователям и по каждому пользователю в отдельности (см.
рисунки 30 и 31).
Рисунок 30 - Результаты по всем пользователям.
На данной форме можно выбрать сортировку
пользователей по имени, по дате начала тестировании, по дате сдачи и по
результату.
Рисунок 31 - Расширенные результаты по каждому
пользователю.
В этой форме преподаватель может просмотреть
результат прохождения теста по конкретному пользователю и оценить вопросы с рукописным
ответом, если таковые имеются.
ЗАКЛЮЧЕНИЕ
В ходе работы над выпускной квалификационной
работой было проанализировано множество систем интернет тестирования, выявлено
множество плюсов и минусов и все они были учтены при разработке данного ПС.
Созданный программный продукт отвечает всем поставленным требованиям и включает
в себя:
– Блок регистрации и авторизации.
– Категорирование страниц сайта по
различным терминам.
– Создание теста с гибкими настройками.
– Создание различных типов вопроса.
– Использование групповой политики
доступа. Студент, незарегистрированный пользователь, администратор и
преподаватель.
– Назначение максимального количества
баллов за каждый полностью правильный ответ.
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ ИНФОРМАЦИИ
1 PHP,
MySQL и другие веб-технологии[Электронный ресурс]: техническая документация по
работе с PHP и MySQL - PHP: PHP.SU 2006 - 2011. - Режим доступа: www. URL:
http://www.phpfaq.ru/sessions - 17.05.2011.
Википедия
свободная энциклопедия [Электронный ресурс]: международная свободная
энциклопедия. - Wikipedia: ru.wikipedia.org, 2003-2011. - Режим доступа: www.
URL: http:// www.ru.wikipedia.org/. - 5.06.2011.
Котеров
Д.В. и Кастарев А.Ф. «PHP 5 в подлиннике. Наиболее полное руководство» 2005г.
Изд.:BHV. - 1104 с.
Дэвид
Мак Фарланд «Java Script. Подробное руководство» 2009г. Изд.:Эксмо. - 608 с.
5 MySQL
Documentation: MySQL Reference Manuals[Электронный ресурс]: техническая
документация по работе с MySQL. - MySQL Documentation, 2010. Режим доступа:
www. URL: http://dev.mysql.com/ - 10.05.2011.
ПРИЛОЖЕНИЕ А
Ниже представлен исходный код основных функций
программного средства.
А.1 Функция добавления пользователя в БД.
<?phpinsertUser()
{( isset($_SESSION['login']) &&
isset($_SESSION['password']) && isset($_SESSION['passwordagain'])
&& isset($_SESSION[email]) )
{($_SESSION['password'] ==
$_SESSION['passwordagain'])
{
$res = mysql_query("SELECT * FROM User_List
WHERE Login = '$_SESSION[login]' ; ")or die("ERROR
".mysql_error());
$num = mysql_num_rows($res);($num == '0')
{
$s = strftime("%S")+1;
$m = strftime("%M")+1;
$h = strftime("%H")+1;
$d = strftime("%d")+1;
$mm =strftime("%m")+1;
$id = $s * $m * $h *$d *$mm;
$res = mysql_query("INSERT INTO
User(UID,Login,Pass,Email,init)('$id','$_SESSION[login]','$_SESSION[password]','$_SESSION[email]','0');
")or die("ERROR ".mysql_error());(res)
{
//$_SESSION['message'] = "Регистрация
прошла успешно.";_once("auth.php");();();
}"$res";
}
$_SESSION['message'] = "Данный логин уже
зарегистрирован в системе.";
}
$_SESSION['message'] = "Несовпадение
паролей.";
}
$_SESSION['message'] = "Заполните все
поля.";
}
?>
А.2 Функция авторизации пользователя.
<?phpauthorization()
{?>
<div id="content">
<div id="posts">
<div>
<h2>
<form method = post>
<table>
<tr>
<td><p>Логин:</p></td>
<td><input type=text name=login
value='<?= $_SESSION['login']; ?>'><br></td>
</tr>
<tr>
<td><p>Пароль:</p></td>
<td><input type=password name=password
value='<?= $_SESSION['password']; ?>'><br></td>
</tr>
<tr>
<table cellpadding="11">
<td></td>
<td> <a
href="index.php?act=registration">Регистрация</a></td>
<td><input type = submit value =
Войти></td>
</table>
</tr>
</table>
</form>
<?php(isset($_SESSION['message']))
{?>
<div id="content">
<div id="posts">
<div>
<div>
<?php" $_SESSION[message]
";($_SESSION['message']);
?>
</div>
</div>
</div>
</div>
<?php
}?>
</div>
</div>
</div>
<?php
}?>
А.3 Проверка данных пользователя.
<?phpverification()
{_once("db.php");(
isset($_SESSION['login']) && isset($_SESSION['password']) &&
!empty($_SESSION['login']) && !empty($_SESSION['password']) )
{
$res = mysql_query("SELECT * FROM User
WHERE Login = '$_SESSION[login]' AND Pass = '$_SESSION[password]' ; ")or
die("ERROR ".mysql_error());
$num = mysql_num_rows($res);($num == '0')
{
$res = mysql_query("SELECT * FROM User
WHERE Login = '$_SESSION[login]' ; ")or die("ERROR
".mysql_error());
$num = mysql_num_rows($res);( $num == '0' )
$_SESSION['message'] = "Данный логин не
зарегистрировани в системе.";
$_SESSION['message'] = "Неверная комбинация
лигина и пароля.";
{
$tmp = mysql_fetch_array($res);
$_SESSION['UID'] = $tmp['UID'];(
!get_magic_quotes_gpc() )
{
$_SESSION['login'] =
mysql_escape_string($_SESSION['login']);
$_SESSION['pass'] =
mysql_escape_string($_SESSION['pass']);
}
$_SESSION['login'] = $_SESSION['login'];
$_SESSION['pass'] =
$_SESSION['pass'];($_GET['act']);($_SESSION['login']);($_SESSION['pass']);"<HTML><HEAD><META
HTTP-EQUIV='Refresh' CONTENT='0;
URL=index.php?act=groups'></HEAD></HTML>";
}
}
$_SESSION['message'] = "Пожалуйста,
заполните поля: Логин и Пароль.";
}?>
А.4 Функция вывода на экран полей регистрации.
<?phpregistration()
{?>
<div id="content">
<div id="posts">
<div>
<h2>
<form method = post>
<table>
<tr>
<td><p>Логин:</p></td>
<td><input type=text name=login
value=''><br></td>
</tr>
<tr>
<td><p>Пароль:</p></td>
<td><input type=password name=password
value=''><br></td>
</tr>
<tr>
<td><p>Пароль
повторно:</p></td>
<td><input type=password
name=passwordagain value=''><br></td>
</tr>
<tr>
<td><p>E-mail:</p></td>
<td><input type=text name=email
value=''><br></td>
</tr>
<tr>
<td></td>
<td><input type = submit value =
'Регистрация' ></td>
</tr>
</table>
</form>
<?php(isset($_SESSION['message']))
{?>
<div id="content">
<div id="posts">
<div>
<div>
<?php" $_SESSION[message]
";($_SESSION['message']);
?>
</div>
</div>
</div>
</div>
<?php
}?>
</div>
</div>
</div>
<?php }?>