Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Ocenianie...
Forum PHP.pl > Forum > PHP
vieri_pl
Mam oto taki system oceniania...

  1. <form method=\"POST\" action=\"index.php\">
  2. <select size=\"1\" name=\"ocena\" style=\"color: #003366; font-size: 10pt; font-family: Verdana; border: 1px solid #003366; background-color: #FFFFFF\">
  3. <option>1</option>
  4. <option>2</option>
  5. <option>3</option>
  6. <option>4</option>
  7. <option selected>5</option>
  8. </select><input type=\"submit\" value=\"GŁOSUJ\" style=\"color: #003366; font-family: Verdana; font-size: 10pt; border: 1px solid #003366; background-color: #FFFFFF\"></p>
  9. </form></p>
  10. <p align=\"center\"><font face=\"Verdana\" size=\"2\" color=\"#003366\"><?
  11. $plik = &#092;"./count.dat\"; //sciezka do pliku za ocenami.
  12. $plik2 = &#092;"./count2.dat\"; // sciezka do pliku z iloscia glosow.
  13. $fp = fopen($plik, &#092;"r\"); // przypisanie zmiennej FP otwarcia zmiennej PLIK.
  14. $fp2 = fopen($plik2, &#092;"r\"); // przypisanie zmiennej FP2 otwarcia zmiennej PLIK2.
  15. $oceny = (int) fread($fp, 20); // przypisanie zmiennej OCENY czytanie pliku z ocenami.
  16. $il_ocen = (int) fread($fp2, 20); // przypisanie zmiennej IL_OCEN czytanie pliku z ilosciami glosow.
  17. $srednia = $oceny / $il_ocen; // wyliczanie sredniej.
  18. fclose($fp); // zamkniecie zmiennej FP.
  19. fclose($fp2); // zamkniecie zmiennej FP2.
  20.  
  21. $oceny = $oceny + $ocena; // dodanie nowej oceny.
  22. $il_ocen++; // zwiekszenie liczniaka o glos jezeli zostal oddany glos.
  23.  
  24. $fp = fopen($plik, &#092;"w\"); // otwarcie zmiennej FP w celu zapisania nowej oceny.
  25. $fp2 = fopen($plik2, &#092;"w\"); // otwarcie zmiennej FP2 w celu zapisania nowego glosu.
  26. fwrite($fp, $oceny); // zapisanie danych dla zmiennych FP i OCENY.
  27. fwrite($fp2, $il_ocen); // zapisanie danych dla zmiennych FP2 i IL_OCEN.
  28. fclose($fp); // zamkniecie zmiennej FP.
  29. fclose($fp2); // zamkniecie zmiennej FP2.
  30.  
  31. $plik = &#092;"./count.dat\"; //sciezka do pliku za ocenami.
  32. $plik2 = &#092;"./count2.dat\"; // sciezka do pliku z iloscia glosow.
  33. $fp = fopen($plik, &#092;"r\"); // przypisanie zmiennej FP otwarcia zmiennej PLIK.
  34. $fp2 = fopen($plik2, &#092;"r\"); // przypisanie zmiennej FP2 otwarcia zmiennej PLIK2.
  35. $oceny = (int) fread($fp, 20); // przypisanie zmiennej OCENY czytanie pliku z ocenami.
  36. $il_ocen = (int) fread($fp2, 20); // przypisanie zmiennej IL_OCEN czytanie pliku z ilosciami glosow.
  37. $srednia = $oceny / $il_ocen; // wyliczanie sredniej.
  38. fclose($fp); // zamkniecie zmiennej FP.
  39. fclose($fp2); // zamkniecie zmiennej FP2.
  40.  
  41. echo &#092;"Średnia to \"; // Wyświetlenie napisu - Srednia to.
  42. echo number_format($srednia, 2); // Wyswietlenie sredniej z glosow, liczba 2 okresla ilosc liczb po przecinku przy 
  43. yswietlaniu sredniej.
  44. echo &#092;".\"; // wyswietlenie kropki.
  45. echo &#092;"<BR>Głosowano $il_ocen razy.\"; // wysywietlenie zmiennej odwolujacej sie do pliku z iloscia glosow.
  46.  
  47. ?>


I skrypcik liczy mi średnią ocenna podstawie danych zawartych w plikach. I moje pytania są nasstępujące:

1. Jak zrobić by głosować nie mógł dwa razy jeden użytkownik.
2. Jak zrobić aby danębyły przetrzymywane w bazie danych, (to raczej wiem) ale tak by też dało obliczyć się średnią.
Proszę o pomoc.
toczek
1. ciasteczka lub przechowywanie w bazie np: numeru ip razem z data kiedy glosowal.
2. Jesli juz wrzucisz dane do bazy to poszukaj informacji o "funkcjach agregacyjnych" w sql smile.gif.
vieri_pl
Muszę stworzyć polę w bazie które nędzie przechowywało ip użytkownika i ma ono być uniqalne?? Dobrze myślę??

Na ciasteczkach w ogóle się nie znam może mi to ktoś objaśnić?
No może trochę wiem co to są ciasteczka... Ale mało...

Proszę o pomoc..
toczek
tworzysz sobie tabelke powiedzmy o takie strukturze
Id | IP | Data_Kliniecia_Z_Godzina

i potem sprawdzasz zapytaniem w momencie jesli ktos klika na ocene czy z tego ip nie glosowano w przeciagu ostatnich powiedzmy 24h.

a co do ciasteczek to polecam ta stronke : cookie smile.gif.
W momencie jak ktos kliknal na ocene to:
- sprawdzacz czy ma ustawione ciasteczko
:jesli ma to glosowal i nie dodajesz jego glosu,
:jesli nie to ustawiasz mu ciasteczko ktore wygasa za 24h powiedzmy i dodajesz glos

smile.gif
zauwaz ze ciasteczka mozna latwo czyscic wiec mozna glosowac ile sie chce smile.gif.
vieri_pl
Dzięki Toczek że mi pomagasz ale i tak nie wiem do końca jak mam napisać w końcu ten skrypt... Może byłbyś tak miły i troszkę zmodyfikował mi mó skrypt.

Please!!! Help ME!!!!

Czy jest ktoś kto wedytuje mi ten skrypcik tak aby zapobiec ponownemu głosowaniu albo chociaż dopomoże mnie komentarzami jak to ma się ustawić co gdzie i jak?questionmark.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.