Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [problem] z ciasteczkami.
Forum PHP.pl > Forum > Gotowe rozwiązania
w@riat
Witam. Mam nadzieje ,że mi pomożecie. Mam problem z ciasteczkami i nie wiem jak zrobić aby głos był zliczany tylko raz od jednej osoby na kazde zdjęcie.
Czyli 1 głos na każde zdjęcie z jednego komputera.

Gdzie "x" to numer zdjęcia

Proszę Was o pomoc bo już nie wytrzymuje.

  1. <?
  2. IF(!file_exists(&#092;"glosy/$x\")){
  3. $plik = fopen(&#092;"glosy/$x\",\"a+\");
  4. fclose($plik);}
  5.  
  6. $b=1;
  7.  
  8. while($b<11)
  9. {
  10. echo &#092;"<A HREF=?akc=licz&glos=$b&x=$x&zdjecie=$x>$b</A>\";
  11. $b++;
  12. }
  13.  
  14.  
  15. IF ( $akc == licz )
  16. {
  17.  
  18. $file=fopen(&#092;"glosy/$x\", \"a+\");
  19. flock($file, 2);
  20.  
  21.  $glos=str_replace(&#092;"x\", \"<BR>\", $glos);
  22.  $glos=str_replace(&#092;"x\", \"\", $glos);
  23.  
  24.  
  25.  
  26.  fputs($file, $glos);
  27. fputs($file, &#092;"n 88 n\");
  28.  
  29. flock($file, 3);
  30. fclose($file);
  31. };
  32.  
  33.  
  34. $liczby = array_map('trim', file(&#092;"glosy/$x\"));
  35. $ilosc = array_count_values($liczby);
  36.  
  37. $suma1=$ilosc['88'];
  38.  
  39. $suma =($ilosc['1']*1)+($ilosc['2']*2)+($ilosc['10']*10)+($ilosc['3']*3)+($ilosc['4']*4)+($ilosc['5']*5)+($ilosc['6']*6)+($ilosc['7']*7)+($ilosc['8']*8)+($ilosc['9']*9);
  40. if($suma1>1){
  41. $srednia=$suma/$suma1;}
  42. echo&#092;"<BR><HR color=black width=500>
  43. <FONT SIZE=4 FACE=Arial COLOR=#000000><B><I>Ilość głosowań:</FONT><FONT SIZE=4 FACE=Arial COLOR=red><B><I> $suma1 </FONT>
  44. <BR>
  45. <FONT SIZE=4 FACE=Arial COLOR=#000000><B><I>Średnia wszystkich głosowań:</FONT><FONT SIZE=4 FACE=Arial COLOR=red><B><I> $srednia</FONT>
  46. <BR>
  47. <BR><HR color=black width=500>
  48. <BR>&#092;";
  49. ?>
mike
Ja mam dwa pytania:
1. Gdzie w kodzie jest mowa o "ciasteczkach" (chyba tylko w temacie posta)?
2. Jakiego rodzaju dostajesz błąd, opisz go?
w@riat
1. Kod usunełem bo i tak nie działał
2. Błąd mi żaden nie wyskakiwał ale nie potrafię zrobić aby na każde zdjęcie można było głosowac. Potrafię tylko ,że na jedno. I nie mam pomysłów jak to zrobić.
yavaho
Utworz nowa tabele w ktorej bedziesz zapisywal ID lub nazwe obrazka i identyfikator osoby ktora glosowala - czyli ciasteczko jakie dostala.
np:
tabela [glosy] {
ID_glosy
ID_obrazek
identyfikator osoby czyli ciasteczko
}

Jak ktos bedzie chcial zaglosowac na dany obrazek to najpierw sprawdzisz czy wogule posiada on ciasteczo - jezeli nie to wyslesz mu w tym momencie ciasteczko.
Potem sprawdzisz czy jego ciasteczko nie istnieje juz w tabeli pod tym jednym konkretnym obrazkiem - jezeli nie to zapiszesz w tabeli jeden rekord z jego ciasteczkiem i ID obrazka.

Ciasteczko dostanie kazda osoba tylko podczas pierwszego jej glosowania na tej stronie.
Pod zmienna w ciasteczku mozna przypisac aktualny czas z funkcji Time() i kazdy glosujacy bedzie mial swoj odmienny identyfikator.
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.