Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Problem z obsługą plików
Forum PHP.pl > Forum > Przedszkole
Domber
Witam, ucze sie podstaw php, na warsztat wziąłem następującą sytuacje:

Pragnę stworzyć plik który będzie wyświetlał ankiete a pod nią dynamicznie zmieniający się licznik udzielonych odpowiedzi tak aby wyświetlał dotychczasową ilość wybrań poszczególnych opcji i zmieniał się wraz z wybraniem opcji.

skrypt ankiety:
  1. <HTML>
  2.  
  3. <HEAD>
  4.  
  5.         <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  6.  
  7. <title>     </title>
  8.  
  9. </HEAD>
  10.  
  11.  
  12. <BODY>
  13.  
  14. <H2> Jakie crew lubisz najbardziej?</h2>
  15.  
  16. <form action="ankieta.php" mehod="POST">
  17.  
  18. <?php
  19.  
  20.  
  21. echo "Flo Mo <input type=\"radio\" name=\"cru\" value=\"Flo\"><br>";
  22. echo "Rivers crew <input type=\"radio\" name=\"cru\" value=\"Riv\"><br>";
  23. echo "Floor gangz <input type=\"radio\" name=\"cru\" value=\"Gang\"><br>";
  24. echo "<input type=\"submit\" name=\"guzik\" value=\"Can you dig it?\" > ";
  25. echo "<br><br><br><br><br><br>";
  26.  
  27.  
  28. $uchwyt = fopen("crew.txt","r");
  29. $Flo = (int)fgets($uchwyt);
  30. $Riv = (int)fgets($uchwyt);
  31. $Gang = (int)fgets($uchwyt);
  32. fclose($uchwyt);
  33.  
  34.  
  35. if(count($_POST))
  36. {
  37. if($_POST["cru"]=="Flo")
  38. {
  39. $Flo++;
  40. }
  41.  
  42. if($_POST["cru"]=="Riv")
  43. {
  44. $Riv++;
  45. }
  46.  
  47. if($_POST["cru"]=="Gang")
  48. {
  49. $Gang++;
  50. }
  51.  
  52. }
  53.  
  54. $uchwyt = fopen("crew.txt","w");
  55. fputs($uchwyt, $Flo."\n".$Riv."\n".$Gang."\n");
  56. fclose($uchwyt);
  57.  
  58. echo "Flo mo ";
  59. echo $Flo."<br>";
  60.  
  61. echo "Rivers crew ";
  62. echo $Riv."<br>";
  63.  
  64. echo "Floor Gangz ";
  65. echo $Gang."<br>";
  66.  
  67. ?>
  68.  
  69. </form>
  70.  
  71.  
  72.  
  73. </BODY>
  74.  
  75. </HTML>

Plik crew.txt jest utworzony w tym samym katalogu co ankieta są mu przydzielone wszystkie prawa do zapisu.

Niestety skrypt nie dopisuje wartości do pliku crew.txt, skrypt wpisał tam tylko zera dla każdej zmiennej przy pierwszym uruchomieniu i dalej nie chce robić nic.

Czy możecie mi wskazać problem?

Z góry dzięki.
krzyszbi
manual
Cytat
'w' - Open for writing only; place the file pointer at the beginning of the file and truncate the file to zero length. If the file does not exist, attempt to create it.

z tego co widzę potrzebujesz a+ a nie w jko dostęp do pliku
a+ dopisuje do pliku na jego końcu
Ociu
Proszę poprawić bbCode oraz nadać tematowi normalny tytuł (+ do tego tag). W przeciwnym wypadku temat zostanie zamknięty.
Domber
Cytat(krzyszbi @ 12.01.2009, 11:38:11 ) *
z tego co widzę potrzebujesz a+ a nie w jko dostęp do pliku
a+ dopisuje do pliku na jego końcu


Nie dziala, zreszta zalozenie jest takie ze plik nie ma byc nadpisywany a maja byc wprowadzane do niego nowe wartosci.

To powinno isc tak :
1. skrypt odczytuje wartosci z pliku crew.txt
2.przypisuje je do zmiennych i przeprowadza odpowiednie operacje
3.zastepuje stare wartosci nowymi wartosciami w pliku crew.txt

Jednak z jakiegos powodu punkt 3. nie dziala.



EDIT: Mam! Powodem bledu byla zwykla literowka. Wiec temat do zamkniecia usuniecia czy tak jak tam u was jest biggrin.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.