Документация
Quest.php
система интерактивной службы вопросов-ответов


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

Вызов скрипта. Вызов организуется обычной ссылкой. При этом имеются два режима работы - основной, в котором читаются и задаются вопросы  и служебный, в котором модератор дает ответы и производит редактирование/удаление.
Основной режим вызывается как <a href="quest.php?fil=FileName&met=1&num=0">, где вместо FileName пишется имя нужного файла без расширения и кавычек. Все остальное должно оставаться неизменным. Этого достаточно для начала полноценной работы.
Служебный режим отличается от основного наличием в конце строки еще одной переменной ed=1: <a href="quest.php?fil=FileName&met=1&num=0&ed=1">. При этом выводится тот же самый список, что и в основном режиме, форма для задания вопросов не печатается, а в начале каждой записи добавляются линки Del | Edit, нажав на которые можно либо удалить соответствующую запись, либо отредактировать ответ (дать его если вопрос без ответа).

ВНИМАНИЕ!
1. Удаление записи производится физически и без предупреждений, поэтому следует быть предельно внимательным!
2. Служебный режим должен вызываться с какой-нибудь отдельной страницы, про которую пользователь не должен знать!

Примеры вызова для тестового файла по имени quest.txt : Это основной режим, а это служебный.

Структура файла данных. Файл-база - это обычный текстовый файл, который может быть подготовлен в любом текстовом редакторе. Первая строка файла особенная - в ней должен содержаться текст заголовка, который будет печататься в начале каждой из генерируемых страниц. Все остальные строки - это данные. Каждая строка - это одна запись базы, состоящая из 2-х полей: вопрос и ответ. Разделителем между полями является прямая палка - "|". Пример:

Это нулевая строка-заголовок
А это что? | А это первая строка собственно данных
И это тоже? | Да, и это тоже запись, но только уже вторая.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Имя файла может быть любым, но расширение обязательно - ".txt"!!! Причем, при вызове скрипта в командной строке указывается только имя файла без расширения (см. пример выше).

Изменение параметров. В тексте скрипта все переменные и функции, имеющие отношение к настраиваемым параметрам расположены в самом начале. Переменной $rec=20 изменяется число записей выводимых на одной странице. Функции, определяющие дизайн страницы:
PrintHeader() - выводит заголовки и верхнюю часть страницы.
PrintFooter() - выводит нижнюю часть.
Редактируя html-код внутри этих функций можно свободно изменять дизайн страницы. Именно здесь следует организовать выход из скрипта на нужную (заглавную) страницу. HTML -код пишите только ВНУТРИ блоков, ограниченных <<<EOB .... EOB; Больше ничего редактировать не рекомендуется.

Комплектация:
quest.php - скрипт
quest.htm - этот файл
quest.txt - пробная база для примера

Успехов!
 (С) В.Артюхов 2001