|
|
|
| Уважаемые администраторы и посетители форума. Предлагаю Вашему вниманию тестовую версию системы голосования Tabella (0.5a). Сразу скажу, что представляю я, в основном механизм (декором пока занимался немного) - новый, неотработанный и недостаточно протестированный. В то же время скрипт является вполне целостным и завершенным в концептуальном плане, но я все же принимаю мнение Б. Страуструпа, который считает, что "программы, которые не тестировали, не работают", поэтому буду благодарен за все выявленные недочеты, глюки, недостатки и недоделки.
Особенности
I) Возможность активировать сразу несколько голосований на сайте
II) Несколько режимов защиты от накрутки.
1) Стандартный
a) cookie (опционально)
b) сессии (опционально)
c) ip (опционально)
2) Стандартный + один пароль для всех (md5). Естественно их нужно предварительно разослать участникам.
3) Логин и пароль (md5) для каждого (предварительно разослать по email).
III) Возможность установить режим защиты от накрутки для каждого голосования отдельно.
IV) Данные хранятся в двухмерных (текстовых) файлах. Для каждого голосования создается основой файл, где хранятся сам вопрос, варианты ответа и метаданные; файл для записи ip, файл для записи пароля, файл для записи логинов и паролей.
Возможности системы администрирования
1) Возможность добавлять новое голосование
2) Возможность редактировать голосования
3) Возможность изменять режим защиты от повторного голосования (см выше). Для стандартного режима можно еще задать время хранения ip (в минутах) и cookie(в днях)
4) Возможность скрыть/отобразить голосование
5) Возможность направить голосование в архив
6) Возможность удалить голосование. Основной файл не удаляется, а копируется в файл txt/backup.txt
7) Возможность изменить позицию голосования (поднять опустить)
8) Возможность настроить пароль (для режима один пароль для всех). Пароль шифруется при помощи хэш-функции md5()
9) Возможность добавить логин и пароль (md5) через особый интерфейс, а также загрузить логины и пароли из файла (образец прилагается). Также данный интерфейс позволяет удалить логины и пароли, просматривать статистику (проголосовал/не проголосовал)
Предупреждение
Данная система использует сессии, а они должны быть созданы до любого вывода в браузер. Поэтому подсоедините модуль session_start.inc (его используют polls.php and vote.php) куда-нибудь наверх, например в header. В случае если система интегрируется на сайт, где уже используются сессии, модули подключать вообще не нужно.
Цели, которые преследовал автор
1) Разобраться с особенностями написания систем интернет-голосования как вида web-приложений.
2) Познакомиться с такими технологиями как сессии и cookie.
3) Развитие своего стиля программирования
Возможности развития
1) Многоязыковая поддержка
2) Автоматический генератор логинов и паролей, а также скрипт, который их рассылает по указанным адресам. А надо ли это?
PS Tabella (лат.) - дощечка, на которой древние римляне писали имя выбранного кандидата во время голосования. | |
|
|
|
|
|
|
|
для: antf
(17.02.2005 в 17:10)
| | > Tabella (лат.) - дощечка, на которой древние римляне писали имя выбранного кандидата во время голосования.
У вас такие названия занимательные. Нам аж завидно :) | |
|
|
|
|
|
|
|
для: antf
(17.02.2005 в 17:10)
| | Классное голосование... можно выкладывать в downloads?
PS Небольшое замечание, которое в общем не принципиально. У вас очень здорово можно динамически изменять число вопросов - может убрать при создании нового опроса число полей - мне кажется это лишним - задать два ответа, а нужное число администратор сам выберет (к тому же очень интересно пощёлкать на кнопочки :) Да и вообще, первую форму можно исключить, так как у вас вопрос во второй можно редактировать - может так и сделать всё на одной форме, и вопрос, и варианты ответа - интерфейс только выиграет?
А... вот ещё чего многие посетители хотели бы видеть: возможность размещать разные голосования на разных страницах, было бы просто замечательно, если бы к системе голосования шло небольшое описание как это можно сделать меньшей кровью :))) | |
|
|
|
|
|
|
|
для: cheops
(17.02.2005 в 19:56)
| | >>> Классное голосование... можно выкладывать в downloads?
Можно, только осторожно :) Сейчас ведь полное лукошко глюков, наверное, соберем :) Вы можете выложить эту версию, только предупредите, что она тестовая (ото некоторые пользователи (например я :) на alpha, после номера версии просто не обращают внимания). Пока я ее тестирую, пока она висит на форуме, а потом я ее еще и во Францию (а может еще куда-нибудь) отправлю, глюки будут находится и исправляться. По мере накопления их критической массы я буду Вас просить обновлять downloads.
>>>к тому же очень интересно пощёлкать на кнопочки :)
Я и сам люблю пощелкать на кнопочки, поэтому, наверное, так и сделал :)
>>>Да и вообще, первую форму можно исключить, так как у вас вопрос во второй можно редактировать
Посмотрим, может быть в следующих версиях так и сделаем.
>>>А... вот ещё чего многие посетители хотели бы видеть: возможность размещать разные голосования на разных страницах, было бы просто замечательно, если бы к системе голосования шло небольшое описание как это можно сделать меньшей кровью :)))
Неплохая возможность для развития.
Также в эту графу можно дописать возможность менять форму отображения информации. Наряду со стандартными таблицами можно использовать гистограммы и диаграммы (англичане их называют тортиками (pies), а французы сыром (camembert)). Для этого нужно освоить gdlib
>>> У вас такие названия занимательные. Нам аж завидно :)
Сейчас, кстати, многие фирмы используют богатые ресурсы латинского языка. Вот, что мне пришло в голову:
Формоза (эта фирма занимается сборкой компьютеров). Название с лат переводится как прекрасная или красивая (formosus, a, um)
Dixis (Диксис) - салон сотовой связи. Название можно перевести так: я сказал | |
|
|
|
|
|
|
|
для: antf
(17.02.2005 в 21:11)
| | Данное Web-приложение добавлено в раздел downloads.
PS Кстати, было бы классно добавить архив голосований и на сайт (с постраничной навигацией), т.е. страницу, где можно просматривать результаты предыдущих голосований, но уже нельзя голосовать (у нас в своей системе руки не дошли это реализовать) - посетители страшно любят (по себе сужу), когда на сайте есть архив опросов.
http://www.softtime.ru/info/tabella.php | |
|
|
|