Голосование на вашем сайте

Голосование на вашем сайте  
Голосование на вашем сайте
 

Голосование на вашем сайте:

После небольшого обзора теории языка давайте перейдем непосредственно к его применению. Так так теория без практики не имеет смысла, то я ее постараюсь в дальнейшем объединять с примерами из реальной жизни, которые, вероятно, Вам пригодятся не только, как учебное пособие. Итак, в этом уроке я познакомлю вас с тем, как создать голосование для сайта. Оно поможет Вам узнать мнения посетителей Вашего сайта на разные темы. Например, как им нравиться Ваш сайт. Не буду ударяться в подробности, т. к. это уже многие видели и знают. А для тех, кто не знает, посмотрите, здесь оно есть. Заодно и проголосуете. Ну вот, перехожу к делу. Нам опять нужны форма и скрипт-обработчик (файл voit.php). Форму Вы можете добавить куда угодно на сайт. Форма пускай будет выглядеть примерно так:
Вопрос: Как Вам нравиться эта рассылка?
Очень! Просто супер.
Неплохо.
Мне это не надо.


И ее код:

<form method="post" action="voit.php">
<b>Вопрос: </b> Как Вам нравиться эта рассылка?
<br><table>
<tr><td>Очень! Просто супер. </td><td><input type=radio name=answer value=1 checked></td></tr>
<tr><td>Неплохо. </td><td><input type=radio name=answer value=2></td></tr>
<tr><td>Мне это не надо. </td><td><input type=radio name=answer value=3></td></tr>
<tr><td colspan=2><div align="right"><input type="submit" value="Ок"></div></td></tr>
</table></form>


Итак, нажав кнопку "Ок", мы отправляем данные. Если поглядеть внимательнее, то можно заметить, что все 3 <input type=radio> имеют одно имя (name=answer), но разные значения (value=1, value=2, value=3). При выборе одного из предложенных ответов определяется то значение, которое мы выбрали. Например, если мы выбрали "Очень! Просто супер.", то определилось значение 1 у переменной answer в скрипте. А если "Мне это не надо.", то значение 3. Это удобно.

Теперь их нужно обработать и записать. Записывать будем в файл voit1.dat, voit2.dat и voit3.dat. Так мы выяснили, что будет передаваться только значение одной переменной answer. Значит нужно определить какое именно значение передано и прибавить к счетчику. Определить какое значение передано можно с помощью оператора if. У нас это будет выглядеть так:

if($answer == 1){
...
} else if ($answer == 2){
...
} else {
...
}


Таким образом мы можем определить значение. Осталось определить какое число в файле и заменить, предварительно увеличив на единицу. Открываем на чтение через функцию file(путь к файлу). Чтение файла происходит в массив. Поскольку в файле всего лишь одна строка, то нам нужен всего лишь 1-ый элемент.

$voit1 = file("voit1.dat");
$voit1[0]++;// Мы выбираем значение 1 строки и увеличиваем на 1 спомощью оператора "++"; анологично уменьшаем - "--".


Запись происходит по следующему сценарию: отрываем файл для записи, записываем и закрываем. Открываем с помощью функции fopen(путь к файлу, тип записи), добавляем fputs(переменная функции fopen, текст для записи), закрываем fclose(переменная функции fopen). У нас это будет выглядеть так:

$file = fopen("voit1.dat", "w+"); // присваиваем переменной файл для перезаписи
fputs($file, "");// добавляем текст, который находится между кавычками ("")
fclose($file);// закрываем


Параметр w+ обозначает, что файл открывается для перезаписи (все старое стирается, начинается запись в первую строку). Подробнее о том, как работать с файлами Вы узнаете позже. В тексте для записи указываем число увеличенное на 1 и закрываем файл. Вот примерный вид записи в скрипте voit.php:

<?
if($answer == 1){

$voit1 = file("voit1.dat");
$voit1[0]++;

$file = fopen("voit1.dat", "w+");
fputs($file, $voit1[0]);
fclose($file);

}else if($answer == 2){

$voit2 = file("voit2.dat");
$voit2[0]++;

$file = fopen("voit2.dat", "w+");
fputs($file, $voit2[0]);
fclose($file);

} else {

$voit3 = file("voit3.dat");
$voit3[0]
++;

$file = fopen("voit3.dat", "w+");
fputs($file, $voit3[0]);
fclose($file);

}
?>


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

$voit1 = file("voit1.dat");
$voit2 = file("voit2.dat");
$voit3 = file("voit3.dat");

echo "Очень! Просто супер. - $voit1[0]<br><br>Неплохо. - $voit2[0]<br><br>Мне это не надо. - $voit3[0]<br><br>";



Для удобства можно и проссумировать:

$summa = $voit1[0] + $voit2[0] + $voit3[0];

echo "Всего: $summa";


Осталось создать 3 файла voit1.dat, voit2.dat и voit3.dat и записать в них начальное значение, т. е. 0. Вот и все. Голосование готово.

| Слияние массивов | Содержание | Фильтрация данных в PHP. |

Баннер Profit-Partner.ru

Опрос
Вопрос: Ваш возраст ?
< 15
15 - 17
18 - 25
26 - 33
34 - 45
> 45
 
 
 


Яндекс цитирования
Rambler's Top100

  Copyright © 2005-2006 WCode.Ru Group