Ошибка: Failed to parse the Currency Converter XML document.
$570.70


Ошибка: Failed to parse the Currency Converter XML document.
$2 219.15


Ошибка: Failed to parse the Currency Converter XML document.
$1 612.23


Своя система голосования

Вы когда-нибудь хотели узнать мнение своих посетителей по тому или иному поводу?
Например, «что Вы хотите видеть на сайте» или «нравиться ли Вам наш новый дизайн» ?
Уверен, что такое желание возникало. Действительно, установка на сайте собственного
опроса или системы голосования позволяет не только копить бесценную информацию о том,
что думают Ваши посетители, но и придать сайту нелишнюю интерактивность.

В общем, достоинства собственной системы голосования очевидны.

Но что делать, когда под рукой нет необходимого скрипта? Можно, конечно,

воспользоваться бесплатными системами голосования, которые позволяют Вам установить
форму с несколькими вопросами на свой сайт. В этом случае сам скрипт находиться
на удаленном сервере и выполняет всю работу. Но, на мой взгляд, это не очень подходящий вариант:
во-первых, эти системы вставляют свой баннер в голосование, во-вторых, работоспособность системы
от Вас совершенно никаким образом не зависит. Также, некоторые системы требуют
довольно продолжительного нахождения в Сети, поскольку вся настройка голосования происходит обычно on-line.

А для некоторых пользователей это совсем немаловажный момент.


Итак, лучше всего создать свой собственный скрипт. Конечно, это потребует от Вас кое-какой работы,
но зато с лихвой окупиться за счет полной конфигурируемости, тонкости настройки и полностью своего интерфейса.

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

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

Эта система реализует практически все необходимые функции.

Все, что от Вас потребуется — это начальные (буквально азы) знания php и хостинг с поддержкой этого языка.

Данный скрипт сейчас успешно работает на площадке провайдера
http://www.eserver.ru, чего и Вам настоятельно рекомендую.

Кстати, в написании этой системы мне помогали бесценными советами ребята из службы поддержки eserver,
за что им отдельная огромная благодарность. Сам будучи новичком в программировании
я не только добился-таки правильной работы своего творения, но и поимел неплохой практический
опыт благодаря этой компании, персонал которой с неумолимой чуткостью отвечал на все мои глупые вопросы.

В общем, хостинг в eserver на уровне.

Итак, начнем.

Давайте представим, что мы на сайте хотим объявить следующее голосование:

ВАШЕ МНЕНИЕ:
Как Вам наш новый дизайн?
5 - Отлично!
3 - Так себе, потянет...
1 - Ужасно!!!
Пусть Вас не смущает количество вариантов ответов, на конфигурируемости это никак не отражается.

Вы сможете задать любое количество вопросов (равно как и любой вопрос в принципе) — от одного
и до бесконечности безо всяких проблем.

Двигаемся дальше. Для начала нам нужно сделать этот опрос в виде html, определив имена для переменных.

< form action=«/php/vote.php» method=«get» target=«_blank»>
< input type=«hidden» name=id value=1>
Как Вам наш новый дизайн?

< input type=«radio» name=vote value=1 checked>Отлично!

< input type=«radio» name=vote value=2>Так себе, потянет...

< input type=«radio» name=vote value=3>Ужасно!!!

< input type=«submit» value=« Голосовать! »>

Текущие результаты
form

Это все. Теперь можно приступить к самому скрипту. Как видно из формы, нашему скрипту передается две переменных:

id=1: это номер голосования. Дальше Вы увидите, как он используется для создания нескольких независимых голосований.

vote=1: номер ответа, то есть конкретно выбранный вариант ответа Вашим посетителем.

Также к нашему скрипту ведет ссылка «Текущие результаты», указывающая только параметр id,
без номера ответа. Дело в том, что скрипт при отсутствии параметра vote просто выводит результаты,
без сопутствующей благодарности «Спасибо за Ваше мнение!» и каких-либо действий по учету голосования.

Продолжаем. Нашему скрипту потребуется собственная база данных с текстами вопросов и ответом к ним.

Конкретное голосование — это один вопрос и набор ответов к нему, а также количество мнений на каждый ответ.

Все голосования хранятся в отдельных текстовых файлах и определяются по переменной id, передаваемой через форму.

В примере id — это цифра (или что угодно другое), которая является первой частью имени файла.

Для примера, если id=1, значит база данных голосования лежит в таком файле: 1.dat или, в терминах php, $id.dat.

Впрочем, Вы увидите это далее на конкретном примере.

Отсюда получается, что для создания голосования Вам достаточно создать новый файл в
очень простом формате (см. далее) и html-форму, содержащую тексты вопросов и id голосования.

Итак, раз уж мы с Вами определились, что данные голосования хранятся в отдельных файлах,
давайте рассмотрим формат конкретного файла. Он имеет такой вид:

Как Вам наш новый дизайн?
5~Отлично!
3~Так себе, потянет...
1~Ужасно!!!
Где 1я строка: это сам вопрос, остальные строки — пара «количество_мнений~ответ», как Вы поняли,
разделенных тильдой «~». Теперь все, что нам осталось, это обрабатывать результаты.

Это делает следующий скрипт:

<?
// файл с конкретным голосованием
$data = file(«$id.dat»);

// выводим благодарности,
// если это не просто просмотр результатов
if ($vote) echo «
Спасибо за Ваше мнение!

»;

// выводим заголовок голосования — 1я строка файла
echo «$data[0]

»;

// печатаем список ответов и результатов — остальные строки
for ($i=1;$i $votes = split(«~», $data[$i]); // значение~ответ
echo «$votes[1]: $votes[0]
»;
}

// если это не просмотр результатов, а голосование,
// производим необходимые действия для учета голоса
if ($vote) {
$f = fopen(«$id.dat»,«w»);
fputs($f, «$data[0]»);
for ($i=1;$i $votes = split(«~», $data[$i]);
if ($i==$vote) $votes[0]++;
fputs($f,«$votes[0]~$votes[1]»);
}
fclose($f);
}
?>

Собственно, это все, что требуется. Как видите, скрипт достаточно прост,
не выполняет каких-либо специфический действий, да и ресурсов много не потребляет.

Конечно, сюда можно добавить многие другие полезные функции, например, сделать
администраторский интерфейс для управления голосованиями через броузер и держать все данные
по голосованиям в одном файле, чтобы не возиться каждый раз с $id.dat. Но это — в следующий раз,
а пока моей целью было показать Вам, что столь полезная система голосования очень просто реализуется.

Теперь Вы можете создать свой собственный дизайн, поправив html код формы и код, выводимый в скрипте.

Здесь очень просто что-либо изменить.

Надеюсь, мой материал сможет быть Вам полезен и пригодиться на практике.

При возникновении любых вопросов, пишите мне на e-mail.

 

Интересное

Ввод ограничений на...
Введение: В среде домена централизованное управление рабочими станции можно осуществлять через групповые политики домена. Если же у вас нет сервера, всё равно можно использовать групповые политики...
Подробнее...
Начало создания сайта
Структура узлаОдним из главных слагаемых успеха узла является правильная организация его структуры. От нее зависит не только удобство навигации, но и легкость его пополнения, добавления разделов....
Подробнее...
Аналоговые системы...
Системы аналогового видеонаблюдения применяются в местах, где необходима организация видеонаблюдения в зданиях с малым количеством помещений – небольшие кафе, автостоянки, помещения для...
Подробнее...
Установка Windows Server...
Семейство продуктов Windows Server 2003 берет все самое лучшее от технологии ОС Windows 2000 Server, упрощая при этом развертывание, управление и использование.В результате пользователь получает...
Подробнее...
Восстановление системы...
Для специалиста слова «Windows NT/2K/XP не грузится» не значат ровным счетом ничего. Может сломаться жесткий диск, пострадать файловая система, разрушиться таблица разделов, слететь...
Подробнее...
Аварийное восстановление...
Случалось ли вам переустанавливать Windows? Те кто сталкивался с этим, знают сколько времени уходит на то чтобы установить все необходимые драйвера, программное обеспечение и настроить систему. Но...
Подробнее...
Проблема медленного...
Кто бы чего не говорил, но операционная система Windows XP, зарекомендовала себя как достаточно надежная (при надлежащем отношении). Моя копия Windows XP SP1, в последующем обновленная до SP2,...
Подробнее...
Оптимизация памяти в...
Windows XP предоставляет больше возможностей по оптимизации памяти, нежели Windows 2000. Вместе с тем, она и требует больше свободных ресурсов. Данная статья поможет вам настроить вашу систему для...
Подробнее...
Требования к CMS в эпоху...
По поводу перспектив Веб 2.0 существует множество мнений и часто диаметрально противоположных, однако едва ли кто-либо станет спорить с тем, что эта концепция заметно сказалась на современном...
Подробнее...
Шрифты и вы - кто кого?
Гармоничный выбор преобразит вашу работу: ведь каждый шрифт — это настроение, эпоха, сила. И эти определения невольно передаются тексту, заставляя нас изначально предвзято относиться к...
Подробнее...