Разработка системы электронного голосования на странице промо-сайта олимпиады "Мастера Photoshop"

Курсовой проект - Компьютеры, программирование

Другие курсовые по предмету Компьютеры, программирование

?вана и в нее можно ввести все, что угодно, например строку Результаты голосования. Далее введите ещё четыре строки с нолями. Не забывайте нажимать ввод для перевода строки.Это результаты (начальные) нашего голосования и, пока никто не проголосовал, они нулевые.

Файл golos.phtml. Сначала мы задаём имя файла результатов и считываем результаты голосования в массив данных с именем $a. Дальше идёт цикл, в котором мы обрабатываем полученный массив таким образом, чтобы он не содержал символов перевода строки и пробелов. Удалять символы ввода и пробела необходимо для преобразования считанных данных из символьной строки в целое число. Это можно сделать разными методами, но в этом случае просто удаляются символы “/n” (что в PHP соответствует переводу строки) и обрезаются пробелы с начала и с конца строки функцией trim (). Результаты заносятся назад в массив, но уже в виде целочисленного значения, которое можно суммировать, увеличить на единицу, делить и т.д. Нас будет интересовать увеличение на единицу определённого элемента массива, индекс которого хранится в переменной $anawer, которая пришла кнам по наследству из формы. Паралельно ведем подсчет количества проголосовавших, что несложно, так как это просто сумма значений нашего массива.

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

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

Переменна $rez формируется следующим образом: значение всех ячеек массива (кроме самой первой нулевой, которая не используется) объединяется таким образом, чтобы разделителем был символ перевода строки. Это позволит в дальнейшем корректно считать полученные таким образом файл.

Для объединения строк PHP применяется точка. Наш массив из целочисленного перешел в разряд символьных. И наконец, пришла пора вывести результаты на экран. Перевод строки в HTML осуществляется при помощи тега .

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

 

<?php

$file = “golos.txt”;

$a = file ($file);

$i = 1 $fi = count ($a);

$n = 0;

while ($i <=$fi):

$a [$i] = trim (str_replase (“\n”,””, $a[Si]));

$n =$n + $a[$i];

$i++;

endwhile;

if ($answer !=”“) {

echo “Спасибо, Ваше мнение учтено”;

$a [$answer]++; $n++;

$rez =”Результаты голосования \n”. $a [1].

“n\”.$a[2]. “\n” . $a[3]. “n\” . $a[4];

$fp = @fopen ($file, “w”);

If ($fp) {$counter = fputs {$fp,$rez); fclose ($fp); }

else {echo “Произошла ошибка записи результатов!“;}

} else {echo “Результаты голосования“;}

echo " ";

echo " ";

echo " ";

echo " ";

echo " ";

echo " ";

echo " ";

echo " ";

echo " ";

echo " ";

echo " ";

echo " ";

echo " ";

echo " ";

echo " ";

echo " ";

echo " ";

echo " ";

echo "Всего проголосовало: ".$n;

?>

2.3 Интерфейс и дизайн блоков голосования на Web-страницах

 

Многие сайтовладельцы зачастую недооценивают значимость дизайна блоков для голосования. А ведь это мощный инструмент для привлечения клиентов. Грамотный дизайн делает ресурс запоминающимся и удобным для пользователя.

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