Теория создания модуля опроса

 

Доброго времени суток дорогой читатель моего блога. Сегодня, как обычно перед реализации чего либо, для нашего движка из цикла "Создать блог с нуля", мы поговорим с Вами о логике создания опроса. Модуль опроса будет выводится в сайтбаре нашего блога. Управление им будет производится из админ панели. Защита от накрутки голосов будет простейшая. Мы будет сохранять у пользователя в браузере куку приблизительно с годом жизни, что не даст повторно проголосовать.

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

 

 

Реализация пользовательской части модуля

 

Пользовательская часть делится на два вида

  • Если пользователь не отвечал на опрос. В этом случае первое что он увидит это форму:

     

    форма опроса

     

    У пользователя будет возможность ответить на опрос выбрав вариант ответа и нажав на кнопку "Голосовать", или же просмотреть результаты нажав на кнопку "Результат". В случае нажатия на кнопку "Результат" пользователю откроется окошко с результатами:

     

    результат опроса

     

    Что бы вернуться к форме голосования пользователю необходимо будет нажать на кнопку "К опросу".

    Из данной схемы можно выделить следующее, скрипт загружает сразу оба окошка. Окно с результатом скрыто от пользователя. Если пользователь нажмет на кнопку "Результат" сработает javascript, который скроет форму (установит для формы css элемент display:none) и покажет результат. Обратное действие запускается кнопкой "К опросу"

  • Если пользователь уже отвечал на опрос. В этом случае пользователь будет видеть только результат, без возможности перейти к форме (кнопки "К опросу" не будет)

     

    второй вид результат опроса

     

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

Задача модуля: Определить есть ли кука у пользователя...

  1. ...если есть, то загрузить окно с результатом голосования без кнопки "К опросу"
  2. ...если нет, то загрузить два окошка и предоставить пользователя форму для голосования.

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

 

Реализация админской части модуля

 

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

Я приведу Вам схему, на которой расположу небольшие сноски о функциональности каждой части модуля.

 

схема админского модуля опроса

 

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

Каждый день|Когда публикуется новая заметка|В первый и последний раз!

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

 

Заключение

 

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

Если Вы собираетесь стать читателем моего блога (если конечно Вы еще не являетесь им), то подпишитесь на RSS ленту блога через ридер, или же по почте

Всего Вам наилучшего! У меня все!

________

P.S.: Уже который год я занимаюсь программирование и версткой, но до сих пор не знаю как правильно подобрать doctype для html документа. Данная заметка на ktonanovenkogo.ru помогла мне, возможно поможет и Вам =)

 

Возможно Вам будут интересны следующие заметки

Комментарии (3)

Ваше имя *
Сайт
Ваш E-mail *
Ваше сообщение *
 
Вы не подтвердили условия политики конфиденциальности.
Юрий, 10 Июня 2012 г. 17:47 пишет:
Гость
Подскажи какой модуль опроса используется? Скинь ссылку.
Rio-Shaman, 10 Июня 2012 г. 17:59 пишет:
Автор
Ну вообще то модуль написан мною под мою же CMS. И данный модуль не подойдет к распространенным бесплатным CMS
Ответ для пользователя: Юрий
Михаил, 28 Июня 2015 г. 13:02 пишет:
Гость
Статья неплохая, рекламы почти не видно. Так держать!
Ответ для пользователя: Rio-Shaman