Создание голосования на PHP

www.karman.com.ua
портал о хостинге в Украине
Хостинг + Украина = Karman.com.ua

Сайт от А до Б

/

Основы сайта

/

Интересные скрипты

/

Изучаем PHP

/

Как заработать на сайте

/

Раскрутка сайта

/

CMS


Создание голосования на PHP 

Еще по теме:
  Код PHP в html и закачка на хостинг
  Написание автоматических тестов и среда PHPUnit
  Хостинг с PHP и MySQL. Аренда VPS
  Тех. поддержка Hvostingа ЛУЧШАЯ!!! Не верите? А кому ещё хостер правил PHP скрипты?!
  Где посмотреть настройки PHP.ini
  PHP и HTML
  После установки поддержки разделения в MySQL, Apache выдаёт дампы сразу после загрузки libPHP4.so. Можно ли это исправить?
  Клиентские библиотеки MySQL больше не включены в PHP 5, как это отразится на мне? Могу ли я всё так же использовать MySQL c PHP? Я пытаюсь работать с MySQL и получаю ошибки "function undefined"

Для начала надо определиться, о чем мы будем спрашивать посетителей. Например, понравился им ваш сайт или нет.
для нашего голосования нам потребуются четыре файла:
В первом будет находиться форма с голосованием (form.html).
Второй файл будет отвечать за обработку результатов (golos.php).
В третьем будут храниться данные голосования (data.txt).
Четвертый будет отвечать за выдачу графической информации (img.php).

Например мы хотим задать посетителям следующие вопросы:
Ваше мнение о сайте: просто супер, нормальный, так себе, мне все равно, плохой, хуже не видел.
В файл form.html запишем:
< td>Так себе.< td>Мне все равно.< td>Плохой.< td>Хуже не видел!После нажатия кнопки Голосовать переменная otv перейдет на обработку сценарием в файле golos.php
В файл data.txt надо записать начальные данные, которые затем будут оттуда считаны и обработаны.
Создайте в файл data.txt и в текстовом редакторе запишите в него следующие строки:
Результаты голосования:
0
0
0
0
0
0
Первая строка у нас учитываться не будет.
В остальные шесть строк надо ввести нули, нажимая после каждой цифры клавишу Enter.
В файле golos.php, который у нас отвечает за обработку результатов, напишем следующее:


Обработка голосования


Голосовать
  $file_name="data.txt";
  // Переменная $file_name задает имя файла с результатами
  $file=file($file_name);
  // Записываем файл с данными в массив $file
  $file_len=count($file);
  // $file_len - количество строк в файле data.txt
  for($i=1,$n=0;$i<$file_len;$i++) {
    $file[$i]=trim($file[$i]);
    $n=$n+$file[$i];
  };
  // В этом цикле мы убираем символы перевода строки и записываем в 
  // переменную $n сколько человек уже проголосовало
  echo "

Спасибо, Ваше мнение учтено!

"; $file[$otv]++; $n++; // Здесь мы учитываем номер ответа, который пришел к нам из формы, // увеличив соответствующее значение в массиве и число проголосовавших на 1 $rez="Результаты голосования:\n"; // Переменная $rez будет содержать данные о голосовании, // которые затем запишем обратно в файл for($i=1;$i<$file_len;$i++) $rez.=$file[$i]."\n"; $rez=trim($rez); $file_rec=@fopen($file_name,"w"); // Здесь мы создаем новый файл, в который затем запишем обновленные данные if($file_rec) { $counter=fputs($file_rec,$rez); // Запись обновленных данных в файл data.txt fclose($file_rec); } else echo "Произошла ошибка записи результатов!"; for($i=1;$i<$file_len;$i++) $pr[$i]=round(($file[$i]/$n)*100); // Записали в массив $pr, сколько процентов от общего числа голосовавших // занимает каждый ответ // Далее идет кусок HTML-кода, который // отвечает за вывод наших данных на экран ?>

Ваше мнение о сайте:


Голосование:
Ваше мнение о сайте:
Просто супер!
Нормальный.
Просто супер! ():
Нормальный. ():
Так себе. ():
Мне все равно. ():
Плохой. ():
Хуже не видел! ():
Всего проголосовало:
Записав в атрибут SRC тега значение "img.php?pr=количество процентов" мы тем самым передаем файлу img.php (который отвечает за вывод графической информации) значение, на основании которого будет на лету сгенерировано изображение голосования. Далее приведу листинг файла img.php:

В итоге получиться что-то типа:

Ваше мнение о сайте:


Просто супер! (15): 30%
Нормальный. (12): 24%
Так себе. (10): 20%
Мне все равно. (10): 20%
Плохой. (2): 4%
Хуже не видел! (1): 2%
Всего проголосовало:
50 человек

Чтобы обсудить это в форуме, нажмите здесь.


Хостинг-источник: http://karman.com.ua
  PHPMyAdmin меняет тип одного из моих столбцов!
  При создании таблицы, я кликаю флажок Index для 2 полей - и PHPMyAdmin генерирует только один индекс с этими двумя полями.
Есть вопросы о хостинге и о сайтах?
и получи ответ от профессионалов, которые обожают помогать людям :).
Еще по теме:
  Я обновился до PHP 4 и теперь mysql постоянно выдает "Warning: MySQL: Unable to save result set in ..." (Предупреждение: MySQL: Не могу сохранить результат в ...). Что это?
  Я слышал, что можно получить доступ к Microsoft SQL серверу из PHP. Как?
  Где можно найти старые версии PHP?
  Я получил последнюю версию исходного кода PHP из CVS. Что нужно для компиляции его под Windows?
  Как подключить библиотеки PHP?
  Доступны ли прекомпилированные бинарники PHP?
  Где я могу взять PHP?
  Какие отличия между PHP 3 и PHP 4?
  Какая связь между версиями PHP?
  Что PHP означает?
  Права доступа к PHP-скриптам.
  Теперь, когда PHPMyAdmin поддерживает "родные" MySQL 4.1.x комментарии столбцов, что случится с моими комментариями столбцов, сохраненных в pmadb?
  Экспорт: Я слышал, PHPMyAdmin может экспортировать данные в файлы Microsoft Excel files, как я могу осуществить такой экспорт?

© СПД Праведно-Счастливый Аладдин Ярославович, 2004-2008. Все права защищены. При цитировании материалов ссылка на www.karman.com.ua обязательна. Редакция "Кармана" может не разделять точку зрения авторов статей, сообщений и ответственности за их содержание не несет.

Быстрый переход к содержимому сайта Karman.com.ua:
Новости, советы, углубленные знания, знания для новичков, законодательство, интересные скрипты, фотогалереи, отчеты, статьи о хостинге: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24
Часто задаваемые общие вопросы о хостинге, про FTP, PHPMyAdmin и MySQL, CPanel, Предустановленные скрипты, WHM, Cron, .htaccess, SSH, Паролирование директорий, О доменах, о работе с сайтом, о Раскрутке сайта, об Электронной почте, про Основы web-программирования: 0, 1
Энциклопедия основных терминов хостинга, программного обеспечения, железной стороны хостинга, технологий, электронной почты и доменов: 0, 1, 2, 3, 4, 5, 6
Сайты о хостинге (форумы, хостинг-провайдеры, студии веб-дизайна, домен-регистраторы, инструментарии в помощь вебмастеру): 0, 1, 2

Rambler's Top100