mam klopot z ankietą, pare rzeczy soe psuje. Po pierwsze gdy wybieram opcje i daje głosuj idzie na ankieta.php?quiz=x x w zależności od wybranej opcji i pisze ze nie mozna wyswietlic strony sad.gif usuwam koncowke ?quiz=x daje odśwież i zaliczylo glos, usuwam cookies glosuje jeszcze raz, usuwam ?quiz=x i zaliczylo glos, ale nie widzi poprzedniego, to przez to ze ciągle tworzy nowy plik ze statystykami, a jak usune kod teorzenia pliku to cos sie psuje... pomocy gg:4437900

  1. <? 
  2.  
  3. $glosowanie = array ('6' => 'Rewelacyjna', '5' => 'Bardzo dobra', 
  4.              '4' => 'Dobra', '3' => 'Przeciętna', 
  5.              '2' => 'zła', '1' => 'beznadziejna'); 
  6.  
  7. function glosowanie ($glosowanie, $quiz) { 
  8. setcookie ('glosowano', &#092;"1\"); 
  9. if (file_exists(&#092;"dane/glosowanie.txt\")) { 
  10. $plik = fopen (&#092;"dane/glosowanie.txt\", \"r+\"); 
  11. flock ($plik, 2); 
  12. $wiersz = fgets ($plik, 255); 
  13. $wynik = split (&#092;"|\", $wiersz); 
  14. fseek ($plik, 0); 
  15. } else { 
  16. $plik = fopen (&#092;"dane/glosowanie.txt\", \"w+\"); 
  17. flock ($plik, 2); 
  18. } 
  19.  
  20. for ($i=0; $i<count($glosowanie);$i++) { 
  21. if ($quiz == $i+1) { $wyniki[$i]++; } 
  22. fputs ($plik, $wyniki[$i]); 
  23. if ($i<count($glosowanie)-1) {fputs ($plik, '|'); } 
  24. } 
  25. flock ($plik, 3); 
  26. fclose ($plik); 
  27. } 
  28.  
  29. function wyswietlanie ($glosowanie, $glosowano) { 
  30. if ($glosowano) { 
  31. if (file_exists(&#092;"dane/glosowanie.txt\")) { 
  32. $plik = fopen (&#092;"dane/glosowanie.txt\", \"r\"); 
  33. $wiersz = fgets ($plik, 255); fclose ($plik); 
  34. $wyniki = split (&#092;"|\", $wiersz); 
  35. for ($i=0; $i<count($wyniki); $i++) { $liczbaglosow += $wyniki[$i]; } 
  36. } 
  37. print &#092;"<p align=center><b>Sonda</b></p>n\"; 
  38. print &#092;"<p>Ocen cms-a</p><table>n\"; 
  39. for (reset ($glosowanie); $klucz=key($glosowanie); next ($glosowanie)) { 
  40. print &#092;"<tr><td>\".pos($glosowanie).\":&nbsp;</td><td>\"; 
  41. if ($liczbaglosow == 0) { 
  42. $procent = 0; 
  43. } else { 
  44. $procent = ($wyniki[$klucz-1]/$liczbaglosow)*100; 
  45. } 
  46. print &#092;"<img src=\"tlo_niebieski2.gif\" width=$procent height=\"10\"></td>\"; 
  47. print &#092;"<td align=right>&nbsp;\"; 
  48. printf (&#092;"%0.0f\", $procent); 
  49. print (&#092;"%</td></tr>\"); 
  50. } 
  51. print &#092;"</table>\"; 
  52. } else { 
  53. print '<FORM METHOD=GET ACTION=\"ankieta.php\">'; 
  54. print &#092;"<p align=center><b>Sonda</b></p>n\"; 
  55. print &#092;"<p>Ocen cms-a</p><table>n\"; 
  56. for (reset ($glosowanie); $klucz=key($glosowanie); next ($glosowanie)) { 
  57.     print ('<tr><td><INPUT TYPE=radio NAME=quiz VALUE=\"'.$klucz. '\">'. 
  58.         pos($glosowanie).&#092;"</td></tr>n\"); 
  59. } 
  60.  
  61. print '</table><center><input type=submit value=\"Głosuj\"></center></p>'; 
  62. print '<form>'; 
  63. } 
  64. } 
  65.  
  66. if ($quiz) { 
  67. glosowanie ($glosowanie, $quiz); 
  68.  
  69. header (&#092;"Location:/ankieta.php\"); 
  70. } else { 
  71. wyswietlanie ($glosowanie, $glosowano); 
  72. } 
  73. ?>


są to tylko 2 pliki (ankieta.php oraz dane/glosowanie.txt) więc nie sprai problemów przetestowanie skryptu u siebie