На этом уроке мы закончим наше голосование - а именно напишем файл vote.php. Он будет принимать вариант голосования, выбранный посетителем на странице vote.htm.
Вот текст файла vote.php:
<?php
$file = "vote.txt";
$data = file ($file);
// количество строк в файле.
$linecount = 3;
// Читаем число ответов из файла в массив $data.for($i=0; $i<$linecount; $i++)
{
// Удаление из строки символа конца строки.
$data[$i] = trim(str_replace("\r\n", "", $data[$i]));
}
// Если посетитель проголосовал.if(isset($answer)){
// То увеличиваем число// в соответсвующем элементе массива.
$data[$answer]++;
// Запись результатов голосования в файл.// Формирование строки для записи в файл.
$res = "";
for($i=0; $i<$linecount; $i++){
$res.=$data[$i]."\r\n";
}
// Открытие файла.
$fp = @fopen($file, "w");
if($fp){
// Запись результата в файл.
$counter=fputs($fp, $res);
// Закрытие файла.
fclose($fp);
// Вывод результата в окно браузера.
echo "Результат:";
echo "<br> C++ :".$data[0];
echo "<br> PHP :".$data[1];
echo "<br> Java :".$data[2];
}
}
?>
Логика работы этого файла должна быть ясна из комментариев: сначала мы открываем файл с результатами голосования и записываем в массив $data существующий результат (сколько человек проголосовало за тот или иной вариант). Потом мы приплюсовываем единицу к элементу массива, соответствующему выбранному посетителем сайта варианту голосования. Это мы делаем в строке
...
$data[$answer]++;
...
Т. е. если посетитель выбрал первый вариант ответа (С++), то мы прибавляем единичку к нулевому элементу массива (так как в файле vote.htm первая радиокнопка имеет 0 в качестве значения атрибута value).
Затем мы записываем измененныймассив $data в файл и в окно браузера.
С нашим простым голосованием все!
PARKING.RU. Качественный ВИРТУАЛЬНЫЙ ХОСТИНГ на платформе Windows(r): поддержка NET, многофункциональная панель управления, аренда бизнес-приложений, сертифицированные специалисты. Управляемый ВЫДЕЛЕННЫЙ ХОСТИНГ на платформе Windows(r): производительные серверы, профессиональная поддержка, аренда ПО Microsoft(r), безопасность, гарантии. http://www.parking.ru