Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> problem z cookie
stefan_precz
post
Post #1





Grupa: Zarejestrowani
Postów: 134
Pomógł: 0
Dołączył: 2.01.2005

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


Mam problem tego typu że, w galerii zdjęć jest mozliwość oceny no i aby ktoś sobie za duzo nie pooceniał (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) to zabezpieczone jest to coockie problem tkwi w tym ze nie jesli wysle coockie takie ogolne to potem innego zdjecia user nie oceni juz więc wysłam coockie w ten sposob

  1. <?php
  2. $punkty = $_POST['punkty'];
  3. include&#092;"config.php\";
  4.  
  5. $zapytanie=&#092;"UPDATE humor_zdjecia SET ilosc = ilosc+1 WHERE id = '\".$id.\"'\" or die(mysql_error());
  6. $wynik = mysql_query($zapytanie);
  7.  
  8. $zapytanie1=&#092;"UPDATE humor_zdjecia SET ocena = ocena+$punkty WHERE id = '\".$id.\"'\" or die(mysql_error());
  9. $wynik1 = mysql_query($zapytanie1);
  10.  
  11. setcookie(&#092;"ocena_$id\",$punkty,time()+48000); // tutaj wysylamy coockie z unikalnym id zdjecia
  12.  
  13.  
  14. header(&#092;"Location: smieszne-zdjecia.php?zdjecia=$id\");
  15. ?>


no i jak teraz to sprawdzać czy to cookie jest bo robiłem to tak

  1. <?php
  2. if (isset($_COOKIE['ocena_'.$id.'']))
  3. {
  4. echo &#092;"juz glosowales';
  5. }
  6. else {
  7. cos tam dalej
  8. }
  9.  
  10. ?>


no ale to rozwiązanie cały czas puszcza usera, tzn pozwala głosować w danym zdjęciu
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
id4
post
Post #2





Grupa: Zarejestrowani
Postów: 223
Pomógł: 1
Dołączył: --
Skąd: Rogożnik /K-ce/

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


Witam

Ja zazwyczaj opieram się na tablicach - jest mi łatwiej tym zarządzać:
  1. <?php
  2. $days=365*24*3600;
  3. setcookie(&#092;"cookie_questionnaire[\".$questionnaire_id.\"]\",$questionnaire_id,time()+$days);
  4. ?>


Spróbuj w ten sposób:
  1. <?php
  2. setcookie(&#092;"ocena_\".$id,$punkty,time()+48000);
  3. ?>
Go to the top of the page
+Quote Post
stefan_precz
post
Post #3





Grupa: Zarejestrowani
Postów: 134
Pomógł: 0
Dołączył: 2.01.2005

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


a gdyby zrobić tak

do cookie zapisuje ID ocenianego zdjęcia czyli

  1. <?php
  2. setcookie('ocena',$id,time()+48000);
  3. ?>


a potem w kodzie gdy ktoś wchodzi na konkretne zdjęcie gdzie numer zdjęcia jest przenoszony w zmiennej $zdjecia czyli user wybiera plik.php?zdjecia=numerzdjecia

to czy mozna z coockie odczytać jakie ID zostało zapisane czyli coś w stylu

  1. <?php
  2.  
  3. if (isset($_COOKIE['ocena'])){ //najpier sprawdzić czy jest cookie a potem odczytać jego zawartość czyli
  4.  
  5.  
  6. ?>


tylko nie wiem jak odczytać zawartość cookie aby potem przyrownać je do zawartości zmiennej $zdjecia jeśli będa takie same to nie daje sie userowi mozliwosci głosowania
Go to the top of the page
+Quote Post
id4
post
Post #4





Grupa: Zarejestrowani
Postów: 223
Pomógł: 1
Dołączył: --
Skąd: Rogożnik /K-ce/

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


Witam

Jeśli tak zrobisz, to po każdym głosowaniu wartość ...
  1. <?php
  2. $_COOKIE['ocena']
  3. ?>

... będzie się zmieniała, a co za tym idzie nie będzie można głosować TYLKO na zdjecia na które zagłosowano ostatnio - na WSZYSTKIE pozostałe będzie można głosować nawet, jak już się wcześniej zagłosowało.
Go to the top of the page
+Quote Post
stefan_precz
post
Post #5





Grupa: Zarejestrowani
Postów: 134
Pomógł: 0
Dołączył: 2.01.2005

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


już mam rozwiązanie, poniezej podaje dla przyszłych pokoleń:)

  1. <?php
  2. (!ereg($id,$_COOKIE['ocena'])) {
  3.  
  4.  
  5. //i tutaj zapytanie które doda ocene do bazy po czym...
  6.  
  7. setcookie(&#092;"ocena\",$_COOKIE['ocena'].\",$id\", time()+(3600*9999)); //do coockie dopisujemy ID ocenianego zdjęcia
  8.  
  9.  
  10.  
  11. header(&#092;"Location: plik.php?zdjecia=$id\"); // i wracamy do ocenianego zdjęcia
  12.  
  13. }
  14.  
  15. else{
  16. header(&#092;"Location: plik.php?zdjecia=$id\"); // jeśli już była ocena tego zdjecia to po prostu wracamy nie zliczając oceny
  17. }
  18. ?>
Go to the top of the page
+Quote Post

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: 23.08.2025 - 12:56