Скрипт голосования. Голосование на PHP своими руками

Один из самых частых вопросов начинающих веб-программистов является вопрос «А как сделать онлайн голосование?». Очень просто! И даже если сейчас Вам так не кажется, уверяю Вас, стоит лишь вдумчиво прочитать данную статью, и Вы забудете про вопросы о голосования раз и навсегда.

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

Для начала давайте определимся, что нам нужно для создания голосования.

Итак, первое что понадобиться — форма для отображения пунктов голосования и передачи результатов на сервер соответствующему скрипту для сохранения. Сразу выделяются два новых объекта — скрипт для приема, обработки и сохранения результатов и место для хранения этих самых результатов голосования.

Местом для хранения данных спокойно может быть обычный файл. Чего-то не хватает? Ах, да! Нам же нужно еще отображать результаты голосования. Эту функцию можно спокойно исполнить в нашем едином скрипте.

Ну что же, приступим. Начнем, конечно же, с формы для отображения пунктов голосования и передачи данных на сервер. В нем нет ничего сложного:

Как Вам мой сайт?
Супер!
Хорошо
Нормально
Слабо
Лажа!

Как Вы видите, обычная форма, которая передает данные методом POST скрипту golos.php, имеется 5 вариантов ответа, кнопка Голосовать — для голосования и Результаты — просмотр результатов голосования без участия в самом голосовании.

Что дальше? Скрипт? Нет, в начале нужно определиться как мы будим хранить данные. Первое что приходит в голову — в каждой строчке по значению. Довольно удобно — все сразу можно считать в массив. Однако, не стоит забывать что при этом первая строка примет индекс 0 — тут начинающие программисты часто путаются. Я советую не использовать первую строку для хранения результатов голосования, а написать там какой-нибудь комментарий, например, что это файл для хранения результатов такого-то голосования.

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

Ну что же. Вот и все! Вы уже побежали ставить себе на сайт голосование? А зря! Ведь данный код лишь демонстрация алгоритма, слабого алгоритма, я уже молчу про возможности самого кода. Он даже не сможет обеспечить надежной работы — при большом количестве обращений файл голосований будет периодически обнуляться. Или, например, у нас нет абсолютно никакой защиты от многократных голосований — один человек может голосовать столько раз, сколько ему захочется.

Я уже молчу про недоработанный алгоритм скрипта — посмотрите в первой части мы очень неплохо используем цикл, который не зависит от количества пунктов голосования, а вот при выводе результатов — мы жестко привязаны к этому числу. А вывод результатов? Куда это годиться…

В общем, продолжать перечислять недостатки скрипта можно долго.

Хорошо Плохо

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

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

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

Социальное голосование - Voting.

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

  • vote_start_data - папка содержит два изображения 11.jpg и 12.jpg и другие файлы. Это изображения с размерами 150х150 px, которые выводятся при голосовании. Здесь, вам нужно заменить только эти два изображения на свои.
  • index - основной файл, выполнения сценариев. Этот файл не трогаем.
  • vote_start.php - скрипт социального голосования. Он хорошо прокомментирован, внесите свои изменения на ваше голосование.
  • vote11.php - файл выполняющий редирект (перенаправление) из социальной сети при выборе первого варианта голосования на необходимую вам страницу, как правило это страница с голосованием, но может быть использована и другая.
  • vote12.php - файл выполняющий редирект (перенаправление) из социальной сети при выборе второго варианта голосования на необходимую вам страницу, как правило это страница с голосованием, но может быть использована и другая.

Теперь давайте перейдем непосредственно к установке скрипта. После внесения всех изменений, закачайте папку voting из архива к себе на сервер в корневую папку сайта.

Теперь, можно приступить к добавлению социального голосования на свой сайт. Делается это очень просто. Для этого вам нужно в том месте страницы, где вы хотите вывести голосование вставить следующий код:

В результате всей работы у вас на сайте появится, вот такое социальное голосование:

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

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

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

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

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

Код для *.html


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

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

Идея «создания» этого скрипта появилась несколько недель назад, когда читатель блога сайт и автор блога Fanday.ru обратился ко мне с предложением создать скрипт социального голосования. В то время у меня как-то не нашлось времени на поиски решения, но вот сегодня я все же смог это сделать и собрать скрипт социального голосования для сайта.

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

Итак, для начала продемонстрирую работу скрипта на примере голосования «Кто круче» между социальной сетью FaceBook и ВКонаткте. Лично я в последнее время все больше склонен к FaceBook, но в данном случае это не имеет никакого значения. Сейчас мы просто тестируем скрипт и неважно за что голосовать. Итак, проверяем, тестируем и голосуем! :)

Ну а теперь перейдем к подробному руководству по установке и настройке скрипта социального голосования на свой сайт.

Установка скрипта социального голосования на сайт

Установка данного скрипта и создание нового социального голосования осуществляется полностью вручную. Специально для читателей блога сайт я немного облегчил задачу и вынес все настройки в отдельный файл. Благодаря этому вам будет достаточно просто отредактировать нужные поля и голосование будет готово к работе. К сожалению я не нашел времени чтобы полностью разобраться в работе скрипта и написать для него админку, поэтому придется довольствоваться тем что есть и делать все вручную. Зато это все абсолютно бесплатно:)

Итак, первым делом скачиваем исходники скрипта социального голосования на свой компьютер. Затем распаковываем архив и приступаем к установке и настройке скрипта.

Для начала давайте рассмотрим содержимое архива.

  • Папка «vote_start_data» — в ней находятся иконки, скрипты и другие рабочие файлы, которые необходимы для работы скрипта социального голосования. Поскольку я вынес все настройки в отдельный файл, то в этой папке нам изменять ничего не придется.
  • Файл «index.htm» — пример страницы с внедренным скриптом. В нем мы найдем код необходимый для добавления социального голосования на сайт.
  • Файл «vote_start.php» — файл с настройками социального голосования. Именно он вызывается при подключении скрипта к странице. Если вам нужно будет создавать несколько социальных голосований, то достаточно будет всего лишь скопировать этот файл, сохранить его под другим именем и отредактировать настройки. Далее вызываем этот файл в нужном месте страницы при помощи кода, взятого с файла «index.htm».
  • Файлы «vote11.php» и «vote12.php» — файлы редиректа. Оба они будут перенаправлять посетителей на нужную нам страницу с голосованием. Нужно именно 2 файла, так как именно по ссылкам на эти файлы будут подсчитываться голоса в социальных сетях. Ссылка на первый файл будет соответствовать голосу за первый вариант голосования, а ссылка на второй – за второй вариант соответственно.

Теперь давайте перейдем непосредственно к плану по установке скрипта социального голосования на сайт.

  • Создаем в корне сайта папку с произвольным названием, например, «voting» и копируем туда папку vote_start_data. Файлы этой папки не будут редактироваться, поэтому копировать ее нужно в первую очередь.
  • Далее открываем на редактирование файлы редиректа vote11.php и vote12.php, и прописываем в них ссылку на страницу своего сайта, где будет находиться социальное голосование. После внесения нужных изменений, загружаем файлы на сервер. В данном случае в папку voting. Если вы собираетесь создавать несколько социальных голосований на своем сайте, то лучше для этих двух файлов создать отдельную папку с уникальным именем, например, vk-vs-fb и поместить их туда. При этом для каждого голосования вам нужно будет создавать отдельную папку для файлов редиректа, так как эти файлы будут иметь одинаковые имена и хранить их в одной директории нельзя.
  • Открываем файл vote_start.php и вносим нужные нам изменения. Также можно его сразу переименовать, чтобы было понятно, к какому голосованию он относится. Например, дать ему имя, как и папке с файлами редиректа. В файле есть подробные комментарии возле каждой строки, поэтому повторно писать я их не буду. Вам нужно будет лишь по аналогии отредактировать данные в кавычках. Если же у вас все же возникнут какие-то вопросы, вы в любой момент сможете задать их в комментариях к статье.
  • После внесения всех изменений и сохранения файлов на сервере приступаем к добавлению социального голосования на свой сайт. Делается это очень просто. Для этого вам нужно будет в нужном месте страницы вставить следующий код:

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

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