Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> błędne liczenie w ankiecie
ZenekPOL
post
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 26.08.2015

Ostrzeżenie: (0%)
-----


Witam, php się dopiero uczę. Dziś postanowiłem sobie napisać taką mini "ankiete" od zera.
3 pliki:
1. html ( do wyswietlenia ankiety )
2. php
3. .txt ( zapis wyników )

  1. <!DOCTYPE HTML>
  2. <html lang="pl">
  3. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  4. <title>Ankieta</title>
  5. </head>
  6.  
  7. <h1>Czy pójdziesz na wybory?</h1>
  8.  
  9. <form action="glosowanie.php" method="post">
  10.  
  11. <input type="radio" value="tak" name="vote" />Tak <br />
  12. <input type="radio" value="nie" name="vote" />Nie<br />
  13. <input type="radio" value="niewiem" name="vote" />Nie interesuje się polityką<br />
  14.  
  15. <input type="submit" value="Głosuj" name="vote1" />
  16.  
  17. </form>
  18.  
  19.  
  20. </body>
  21. </html>


  1. <?php
  2.  
  3.  
  4. $file = "wyniki.txt";
  5.  
  6. function vote()
  7. {
  8. global $file;
  9. $fo = fopen("wyniki.txt", "r+");
  10. $fr = fgets($fo);
  11. $odp = "";
  12.  
  13. if(!isset($_POST['vote']))
  14. {
  15. echo "Nie oddałeś głosu!";
  16. }
  17. else
  18. {
  19. $odp = $_POST['vote'];
  20. }
  21.  
  22. if(!file_exists($file)) echo "Brakuje pliku z wynikami!";
  23. $tak = (int)($fr);
  24. $nie = (int)($fr);
  25. $niewiem = (int)($fr);
  26.  
  27.  
  28.  
  29. switch($odp)
  30. {
  31. case "tak" : $tak++; break;
  32. case "nie" : $nie++; break;
  33. case "niewiem" : $niewiem++; break;
  34. }
  35.  
  36. fseek($fo, 0);
  37. fputs($fo,$tak."\n");
  38. fputs($fo,$nie."\n");
  39. fputs($fo,$niewiem."\n");
  40.  
  41. fclose($fo);
  42.  
  43. return true;
  44. }
  45.  
  46. if(isset($_POST['vote1']))
  47. {
  48. vote();
  49.  
  50. }
  51.  
  52.  
  53. ?>


i plik wyniki.txt powinien zapisywac wyniki w postaci :
0
0
0


Główny problem polega na tym że inkrementacja nie działa jak należy, jeśli wybierzemy jedną opcję to i tak inkrementacja nastąpi we wszystkich zmiennych $tak, $nie, $niewiem.

w.g mojego kodu poiwnno działać jak należy, przynajmniej tak to rozumuje w głowie a jednak jest inaczej (IMG:style_emoticons/default/biggrin.gif)

taka pierdoła ale chce wiedzieć co jest nie tak.

Ten post edytował ZenekPOL 26.08.2015, 20:17:38
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 00:56