Голосование с сохранением в файл

Создаем форму

<form method="POST" action="golos.php">
<table border="0"><tr><td>
<table  style="color:  white;">
<tr><td>Какой вопрос вам нравиться</td></tr>
<tr><td><input type="radio" name="otvet" value="1">Первый</td></tr>
<tr><td><input type="radio" name="otvet" value="2">Второй</td></tr>
<tr><td><input type="radio" name="otvet" value="3">Третий</td></tr>
<tr><td><input type="radio" name="otvet" value="4">Четвертый</td></tr>
<tr><td><input type="radio" name="otvet" value="5">Пятый</td></tr>
<tr><td>
<input type="submit" name="golos" value="Голосовать">
<input type="submit" name="result" value="Результаты">
</td></tr>
</table>
</td></tr></table>
</form>

Файл golos.php

 
<?php
// получаем данные
$otvet = $_POST['otvet'];
//имя файла с результатами голосования:
$file = "golos.dat";
//считываем данные голосования в массив:
$a = file($file);
//инициализируем переменные:
$i = 1;
$n = 0;
//получаем количество элементов в массиве голосований:
$fi = count($a);
//в цикле обрабатываем каждый элемент массива:
while ($i <= $fi):
//удаляем переносы строк:
$a[$i] = trim(str_replace ("n","", $a[$i]));
//считаем количество голосов:
$n = $n+$a[$i];
$i++;
endwhile;
 
//если был дан голос:
if ($otvet != "")
{
   //выводим соотв. сообщение:
   echo "<br>Спасибо, Ваш голос принят";
   //увеличиваем на 1 соотв. пункт голосования:
   $a[$otvet]++;
   //и общее количество голосов:
   $n++;
 
   //подготавливаем данные для записи в файл:
   $rez = "Опрос на сайте ".$a[1]."n".$a[2]."n".$a[3]."n".$a[4];
   //открываем файл для записи:
   $fp = @fopen($file,"w");
   //если успешно:
   if ($fp)
   {
      //записываем данные в файл:
      fputs($fp,$rez); //и закрываем его:
      fclose($fp); }
      //если произошла ошибка:
      else { echo "Ошибка при открытии файла"; }
}
//выводим результаты:
else { echo "<br>Результаты голосования"; }
echo "<br>Первый — <b>".$a[1]."</b>";
echo "<br>Второй — <b>".$a[2]."</b>";
echo "<br>Третий — <b>".$a[3]."</b>";
echo "<br>Четвертый — <b>".$a[4]."</b>";
echo "<br>Пятый — <b>".$a[5]."</b>";
echo "<br><br>Всего голосов: ".$n;
?>

ссылка на Git https://gist.github.com/AndriiU/cd656baa9fa2f0adfa92bbdeb912fc45

  • ,
  • Метки:

Comments are closed