Меню Закрыть

Скрипт голосования для сайта html

Содержание

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

В этой статье мы рассмотрим, как с помощью PHP создать простой скрипт опроса. Он использует PHP и MySQL для хранения в БД вариантов ответа, данных опроса и принятых голосов.

Функционал скрипта опроса

Данные опроса и варианты ответов хранятся в базе MySQL . Вопрос и варианты ответа будут извлекаться из базы данных, и выводиться пользователю. Он может выбрать вариант и отдать свой голос. Результаты голосования будут сохранены в базе данных с соответствующим вариантом ответа.

Кроме этого мы будем использовать PHP COOKIE , чтобы ограничить возможность повторного голосования. Результат опроса с общим подсчетом голосов и их количеством для каждого варианта ответа будут отображаться на странице. Результаты по вариантам ответа будут отображаться в виде процентной диаграммы.

Создание таблиц базы данных

В базе данных MySQL скрипта для голосования на сайте три таблицы: polls , poll_options и poll_votes .

Таблица polls содержит тему опроса или вопрос:

Таблица poll_options содержит варианты ответа и соответствующий идентификатор опроса:

Таблица poll_votes содержит результат подсчета голосов для варианта ответа, соответствующий идентификатор варианта ответа и идентификатор опроса:

Вставьте данные опроса и соответствующие варианты ответа в демонстрационную базу данных скрипта голосования:

Класс Poll

Класс Poll используется для обработки запроса ко всей системе голосования и опросов. Этот класс выполняет следующие действия.

__construct() — подключает и выбирает базу данных.

getQuery() — выполняет SQL-запрос к базе данных MySQL и возвращает данные. Это закрытая функция, используемая только в этом классе.

getPolls() — получает опрос и соответствующие варианты ответа. Кроме этого он может получать данные нескольких опросов на основе запроса.

vote() — добавляет или обновляет количество полученных голосов в базе данных.

getResult() – эта функция PHP скрипта голосования предоставляет результаты опроса с количеством полученных голосов по каждому из вариантов ответа.

Читайте также:  1К2 service nalog ru 1k

Представление опроса (index.php)

В этом файле скрипта голосование с выводом результатов отображается вопрос опроса и соответствующие варианты ответа. Для выбора варианта используется радио-кнопка. Внизу выводится кнопка « Отправить » и ссылка для просмотра результатов опроса:

После того, как пользователь выбрал вариант ответа, голосование добавляется в базу данных с использованием класса Poll . Также используется PHP COOKIE , чтобы указать, что пользователь уже проголосовал, и какой статус должен отображаться пользователю:

Результаты опроса (results.php)

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

Код CSS

В файле index.php используется следующий CSS-код для определения стилей темы и параметров опроса скрипта HTML на голосование:

В файле results.php используется следующий CSS-код для определения стилей результатов опроса с помощью скрипта социального голосования:

Заключение

В этой статье мы описали процесс создания простого скрипта для голосования HTML с помощью PHP и MySQL . Вы можете легко расширить этот простой скрипт. Это руководство призвано лишь помочь понять принцип создания модулей для голосования и разработать собственный вариант реализации.

Данная публикация представляет собой перевод статьи « Online Poll and Voting System with PHP and MySQL » , подготовленной дружной командой проекта Интернет-технологии.ру

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

Важно!
Для того, чтобы пример работал корректно, необходимо:
1. Все файлы должны быть записаны в кодировке UTF-8.
2. Скрипты должны выполняться на веб-сервере, а не запускаться в браузере, как файл.

Скачать пример можно здесь, 3,1 Кб

Пример состоит из 5 различных файлов, рассмотрим каждый из них в отдельности.

Читайте также:  Гранитные кухонные мойки отзывы

Служит для соединения с базой данных, для создания необходимой таблицы и для заполнения её примером нашего голосования.

В нашем случае база данных состоит из одной таблицы с тремя полями:
id – идентификатор записи;
title – название записи;
votes – количество голосов, отданных за эту запись.

Первоначально таблица заполняется следующими значениями:

id title votes
1 Куда вы сегодня пойдете NULL
2 Никуда
3 В кино
4 В клуб
5 В магазин
6 Другое

Запись, для которой поле votes имеет значение NULL – считаем названием опроса, которое содержится в поле title.

Содержит в себе AJAX-функцию showContent() для обновления контента без перезагрузки страницы. Подробное описание работы данной функции приведено в статье «AJAX и JavaScript. Загрузка контента без перезагрузки страницы".

Содержит описание двух функций, применяющихся нами в программе.

Функция drawForm() отображает форму для голосования.

Функция drawResults() отображает результаты голосования.

Данные для построения формы и вывода результатов берутся из базы данных.

Основной файл скрипта голосования. Здесь мы рассмотрим его основную часть. Как мы видим — тело документа состоит из контейнера contentBody.

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

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

Поскольку, выполнение этого файла вызывается через AJAX функцию showContent(), то перезагрузки всей страницы не происходит и результаты выполнения файла помещаются в контейнер contentBody.

Скрипт голосования для сайта написан на PHP с применением ява скриптов AJAX и легко интегрируется на html страницы. Голосование и вывод показателей в скрипте происходит без перезагрузки страницы, и для каждого IP адреса голосовать можно только 1 раз в сутки.

Читайте также:  Как выключить fastboot на xiaomi

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

Я вам привожу в пример три варианта скрипта , из которых вы сами выберите, какой установить к себе на сайт.

Первый вариант скрипта голосования показывает сколько проголосовавших всего, выводит на экран сумму голосов, и имеет две кнопки " Понравилось " и " Не понравилось ".

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

Третий вариант самый упрощённый вариант, и здесь отсутствуют кнопки " за " и " против ", здесь нет вывода общего числа голосовавших, здесь есть одна кнопка, которая фиксирует, что пользователю понравилось и суммарное число выводится на дисплей формы. И кстати, эта форма имеет соответственно самый маленький размер, что так же является её достоинством.

Для установки скрипта голосования , вам всего лишь нужно скачать архив (ниже), залить его на сервер и там распаковать. А в html коде прописать любой из вариантов.

Для того, чтобы формы голосования на всех ваших страницах работали от одного скрипта, нужно на каждой странице в коде (выше) сделать одно изменение.
А именно здесь: изменяете только вторую часть после vt_ . Придумывать можно абсолютно любые имена, только латиницей разумеется, и так для каждой страницы — своё имя. Всё, изменений больше делать никаких не нужно, кроме того, что если изменить оформление в стилевом файле, и заменить в скрипте латиницу на русские слова.

Все данные о пользователях, "скрипт голосования" хранит в текстовом файле, а кому нужно будет подключить Базу данных MySQL (о чём писал выше), тот найдёт инструкцию с указаниями, как это сделать (прилагается в архиве).

На этом всё, кому понравилась статья о скрипте голосования, нажимаем на Лайки и пишем комментарии!

Скачать скрипт голосования для сайта

Рекомендуем к прочтению

Добавить комментарий

Ваш адрес email не будет опубликован.