Пишем скрипт голосований. Часть 1
Сайт хорош только тогда, когда он не только предоставляет какую-то информацию, но и предоставляет возможность общения между посетителями сайта и создателями.
Это самое взаимодействие призваны обеспечить такие типы скриптов, как форумы и гостевые книги. Но не каждый посетитель (особенно, если он «проходил мимо») станет писать сообщение в гостевую книгу или, тем более, регистрироваться на форуме.
А голосования на сайте — один из лучших способов узнать мнение посетителей сайта по какому-либо вопросу, так как голосование не требует регистрации и практически не отнимает время у посетителя.
Поэтому сегодня мы и напишем скрипт для организации голосований на сайте.
Для начала определим возможности нашего скрипта:
- скрипт будет использовать файлы в качестве БД
- с одного IP на каждый вопрос можно будет ответить только один раз
- в админ-панели можно будет создавать новые вопросы, просматривать результаты старых и удалять их, а также сменить логин и пароль.
Теперь определимся со стрктурой каталогов скрипта. Пусть скрипт будет хранится на сайте в директории polls. Вот список подкаталогов каталога polls:
- admin — здесь будет храниться админка
- answers — здесь будут храниться данные об ответах пользователей на различные вопросы
- ip_data — здесь будут храниться списки ip-адресов, пользователи которых уже отвечали на вопросы (для каждого вопроса свой список)
- poll_data — данные непосредственно опросов: списки вопрос-ответы
В директории polls будут храниться файлы — основа опросов. Вот их список:
- poll.php — скрипт, выбирающий случайным образом вопрос, оформляющий его по шаблонам и выводящий пользователю
- post.php — скрипт, принимающий данные о внесённом ответе и обрабатывающий его
- template_answer.html, template_poll.html — два файла шаблонов (первый — шаблон строки, второй — шаблон блока)
- error.html, voted.html — файлы со страницей, говорящей пользователю о успехе/неуспехе внесения его ответа на вопрос
Хорошо, с планированием разобрались. Теперь надо создать пару вопросов и сделать скрипт, их выводящий.





Добавить комментарий
Вы должны войти