Javascript-форум (https://javascript.ru/forum/)
-   Серверные языки и технологии (https://javascript.ru/forum/server/)
-   -   Простой опросник для сайта (https://javascript.ru/forum/server/84771-prostojj-oprosnik-dlya-sajjta.html)

Тапочек 15.12.2022 00:04

Простой опросник для сайта
 
Всем доброго времени суток! Решил на свой сайт прикрутить простое голосование (3 варианта ответа, кнопка "Отправить" и ссылка на результаты). Облазил кучу сайтов и вроде нашёл нужное, но я не могу и не знаю, как его правильно настроить. Я вроде делаю всё по инструкции (весьма корявой), но при тестировании у меня открывается просто пустая страница.

Вот код голосования:
<form action="/php/vote.php" method="get" target="_blank">
<input type="Hidden" name=id value=1>
<b>ОПРОС</b><p>
<input type="Radio" name=vote value=1 checked>ОДИН<br>
<input type="Radio" name=vote value=2>ДВА<br>
<input type="Radio" name=vote value=3>ТРИ<p>
<input type="Submit" value="Голосовать!"><p>
<a href="vote.php?id=1" target="_blank">РЕЗУЛЬТАТЫ</a>
</form>


Вот PHP-скрипт:
<?php
// файл с конкретным голосованием
$data = File("$id.dat");

// выводим благодарности,
// если это не просто просмотр результатов
if ($vote) echo "<b><font color=red> Спасибо за Ваше мнение! </font></b><p>";

// выводим заголовок голосования - 1я строка файла
echo "<b>$data[0]</b><p>";

// печатаем список ответов и результатов - остальные строки
for ($i=1;$i<count($data);$i++) {
  $votes = split("~", $data[$i]); // значение~ответ
  echo "$votes[1]: <b>$votes[0]</b><br>";
}

// если это не просмотр результатов, а голосование,
// производим необходимые действия для учета голоса
if ($vote) {
  $f = fopen("$id.dat","w");
  fputs($f, "$data[0]");
  for ($i=1;$i<count($data);$i++) {
    $votes = split("~", $data[$i]);
    if ($i==$vote) $votes[0]++;
    fputs($f,"$votes[0]~$votes[1]");
  }
  fclose($f);
}
?>


Я не понимаю, что-то нужно делать с БД? Лезть туда я побаиваюсь, могу там, как слон в посудной лавке, что-то испортить.

Всем отписавшимя заранее респект и благодарочка


Часовой пояс GMT +3, время: 03:55.