Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Problem z ciasteczkami
a_urbi
post 16.05.2011, 13:44:40
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 16.05.2011

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


Witam, mam taki problem znajomy wymyślił sobie żeby było parę obrazów tła i losuje się jedno dla danego odwiedzającego.
napisałem taką prostą funkcję:
  1. if ( $_COOKIE["Tlo"] == null ) {
  2. $arr = array('1.jpg', '2.jpg', '3.jpg', '4.jpg', '5.jpg', '6.jpg');
  3. $tlo = $arr[array_rand($arr)];
  4. setcookie('Tlo', $tlo);}


Poźniej w body tylko wpsuje numer tła które ma być wyświetlone. Problem polega na tym, że po odwiedzeniu strony nie wyświetla się tło dopiero po jej odświeżeniu. Dlaczego tak się dzieje?
Go to the top of the page
+Quote Post
Mlodycompany
post 16.05.2011, 14:43:45
Post #2





Grupa: Zarejestrowani
Postów: 910
Pomógł: 44
Dołączył: 20.02.2008
Skąd: Łódź

Ostrzeżenie: (20%)
X----


1. To czy ciastko jest puste sprawdził bym funkcją empty()
2. Wysłane ciastko dostępne jest dopiero to odświeżeniu strony, więc bez odświeżenia samo się w tablicy $_COOKIE nie znajdzie, ale można to prosto odejść dodając element bezpośrednio do tej tablicy
Go to the top of the page
+Quote Post
a_urbi
post 16.05.2011, 16:47:18
Post #3





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 16.05.2011

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


To jak w takim razie napisać funkcje która losuje tło i zostawia je do zamknięcia strony?
Go to the top of the page
+Quote Post
mat-bi
post 16.05.2011, 16:54:58
Post #4





Grupa: Zarejestrowani
Postów: 690
Pomógł: 92
Dołączył: 6.02.2011

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


użyj sesji



Ten post edytował mat-bi 16.05.2011, 16:57:43
Go to the top of the page
+Quote Post
toaspzoo
post 16.05.2011, 16:59:07
Post #5





Grupa: Zarejestrowani
Postów: 778
Pomógł: 84
Dołączył: 29.07.2010
Skąd: Gliwice / Pławniowice Mistrz niezmordowanej klawiatury.

Ostrzeżenie: (20%)
X----


w argumencie funkcji setookie musisz wpisac (nazwa, wartosc, czas!);


--------------------

LS Easter egg <
Go to the top of the page
+Quote Post
a_urbi
post 16.05.2011, 17:01:46
Post #6





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 16.05.2011

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


  1. if ( $_COOKIE["Tlo"] == null ) {
  2. $arr = array('1.jpg', '2.jpg', '3.jpg', '4.jpg', '5.jpg', '6.jpg');
  3. $tlo = $arr[array_rand($arr)];
  4. $_COOKIE["Tlo"] = $tlo;
  5. }


Zrobiłem tak jak powyżej bez setcookie i od razu cookie ma swoją wartość bez odświeżania strony.
Go to the top of the page
+Quote Post
Mlodycompany
post 16.05.2011, 19:37:28
Post #7





Grupa: Zarejestrowani
Postów: 910
Pomógł: 44
Dołączył: 20.02.2008
Skąd: Łódź

Ostrzeżenie: (20%)
X----


w tym momencie nie korzystasz z cookies tylko z tablicy do której one są wczytywane. Równie dobrze możesz korzystać z globalnej tablicy sesji, post, get i każdej innej zmiennej globalnej jak i nieglobalnej. Z ciasteczkami to nie ma nic wspólnego!
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 31.07.2025 - 08:56