Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Ankieta zapisywana do pliku txt, ankieta nie reaguje
Drokal
post
Post #1





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 17.10.2012

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


Tak jak w temacie, klikam jakieś opcje i nic kurde blade nie chce działać
Bardziej chodzi o to ze jak wybieram jakaś opcje to nie ma reakcji.
Oczywiście wspomnę odrazu ze tworzę na serverze lokalnym.

Oto kod
  1. <?PHP
  2. ini_set( 'display_errors', 'On' );
  3. error_reporting( E_ALL );
  4. ?>
  5. <?php
  6. $ocena = isset($_POST['ocena']);
  7. if ($ocena)
  8. {
  9. print ("Dzięki za oddanie głosu");
  10. print ("Zagłosowałeś/aś na $ocena");
  11. $wartoscprzed = file_get_contents("$ocena.txt");
  12. $wartoscpo= ++$wartoscprzed;
  13. $plik = fopen ("$ocena.txt" , "w+");
  14. flock ($plik,2);
  15. fputs ($plik, $wartoscpo);
  16. flock ($plik, 3);
  17. fclose ($plik);
  18. $odczyt_super = file_get_contents("super.txt");
  19. $odczyt_takise = file_get_contents("takise.txt");
  20. $odczyt_beznadziejny = file_get_contents("beznadziejny.txt");
  21. $suma_glosow = $odczyt_super+$odczyt_takise+$odczyt_beznadziejny;
  22. $procent_super = floor( ($odczyt_super/$suma_glosow)*100);
  23. $procent_takise = floor( ($odczyt_takise/$suma_glosow)*100);
  24. $procent_beznadziejny = floor ( ( $odczyt_beznadziejny/$suma_glosow)*100);
  25. print("<br><br> A oto wyniki ankiety: <br>");
  26. print ("<TABLE>");
  27. print("<TR>");
  28. print ("<TD>Super</TD>");
  29. print ("<TD><img src\"paseczek.gif\" height\"19px\" width=\"$odczyt_super\"/></td>");
  30. print ("<TD>$odczyt_super glosów</TD>");
  31. print ("<TD>[$procent_super %]</TD>");
  32. print ("</TR>");
  33. print("<TR>");
  34. print ("<TD>Taki se</TD><TD><img src\"paseczek.gif\" height\"19px\" width=\"$odczyt_takise\"/></td>");
  35. print ("<TD>$odczyt_takise glosów</TD>");
  36. print ("<TD>[$procent_takise %]</TD>");
  37. print ("</TR>");
  38. print("<TR>");
  39. print ("<TD>Beznadziejny</TD><TD><img src\"ankieta/paseczek.gif\" height\"19px\" width=\"$odczyt_beznadziejny\"/></td>");
  40. print ("<TD>$odczyt_beznadziejny glosów</TD>");
  41. print ("<TD>[$procent_beznadziejny %]</TD>");
  42. print ("</TR>");
  43. print ("</TR><TD COLSPAN=\"3\"> Razem oddano : $suma_glosow głosów. </TD></TR>");
  44. $powrot = isset($_SERVER['HTTP_REFERER']);
  45. print ("<TR><TD COLSPAN=\"3\"> Powrót do ankiety: <A href=\"$powrot\" TITLE=\"Wstecz!\"> wstecz</a></TD></TR>");
  46. print ("</TABLE>");
  47. }
  48. else
  49. {
  50. print ("Jak podoba Ci sie strona?<br>");
  51. print ("<TABLE>");
  52. print ("<FORM action=\"ankieta.php\" METHOD=POST");
  53. print ("<TR>");
  54. print ("<TD>Jest super</TD>");
  55. print ("<TD><input type=\"radio\" value\"super\" name=\"ocena\"><br></TD>");
  56. print ("</TR>");
  57. print ("<TR>");
  58. print ("<TD>Jest taka se</TD>");
  59. print ("<TD><input type=\"radio\" value\"super\" name=\"ocena\"><br></TD>");
  60. print ("</TR>");
  61. print ("<TR>");
  62. print ("<TD>Jest beznadziejna</TD>");
  63. print ("<TD><input type=\"radio\" value\"super\" name=\"ocena\"><br></TD>");
  64. print ("</TR>");
  65. print ("<TR>");
  66. print ("<TD><INPUT TYPE=\"submit\" VALUE=\"Głosujcie!\"></TD>");
  67. print ("<TD><INPUT TYPE=\"reset\" VAlUE=\"Od nowa!\"></TD>");
  68. print ("<TR>");
  69. print ("</FORM>");
  70. print ("</TABLE>");
  71. }
  72. ?>


Odrazu dopowiem ze jeśli w linijce 5 dopisze isset
  1. if ($ocena)

to przeskakuje mi na "następne okienko", tzn z wynikami ankiety ale kurde blade nie moge wrócić, ani tym bardziej wybrać jakiejkolwiek opcji.

Proszę o pomoc
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Drokal
post
Post #2





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 17.10.2012

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


@B4rt3kk

Cytat
Wiesz co zwraca funkcja isset? True or false, tak więc dalsze działania na tej zmiennej, takie jak choćby wybór pliku nie odnoszą takiego skutku jakbyś oczekiwał. Popraw:

  1.  
  2. $ocena = $_POST['ocena'];
  3. if (isset($_POST['ocena']))
  4.  


Poza tym w samej ankiecie, wszystkie pola mają value "super", tak ma być? Troszkę zmanipulowana ta ankieta.


Jeśli będę miał taki zapis jak sugerujesz pojawi sie notice:6 linijka kodu.
  1. Notice: Undefined index: ocena in C:\xampp\htdocs\ankieta.php on line 6
  2.  
  3. Co do manipulacji kodu, to kochany musze Ci powiedzieć ze pracuje w sztabie wyborczym pewnego prezydenta, i powiem Ci, tylko Ci sie wydaje ze to jest manipulacja... :]
  4.  
  5. @nospor
  6.  
  7. No to teraz dupa blada, trzeba sie przyznać, kod nie mój, uważam ze najlepszą metoda na nauke to przerabianie tego co jest. Jeśli sie mylę nakieruj mnie na właściwy tor.
  8.  
  9. A co do samego kodu, o ile dobrze rozumiem
  10. [php]$ocena = isset($_POST['ocena']) ? $_POST['ocena'] : null;


Jeśli istnieje zmienna z $_POST ocena, to przypisz jej taka wartość, jeśli nie niech będzie null.
W sumie rada mądra, ale jednak i tak dupa blada nic nie przeskakuje.

Wciąż jestem w trakcie poszukiwań rozwiązania ;]

Ten post edytował Drokal 24.11.2012, 16:51:10
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: 5.10.2025 - 02:15