Arekadiusz Opublikowano 22 Stycznia 2013 Udostępnij Opublikowano 22 Stycznia 2013 Witam! Bawię się ostatnio HTML/PHP/CSS i właśnie mam potrzebę użycia cookies. Tworzę dwa ciasteczka w taki sposób: setcookie('cookie1', 'wartosc1'); setcookie('cookie2', 'wartosc2'); I moje pytanie brzmi: czy można by te dwie wartości wrzucić do jednego ciasteczka? Przeczytałem na jakiejś stronie że w takim [] nawiasie. No więc zrobiłem coś takiego: setcookie('cookie[w1]', 'wartosc1'); setcookie('cookie[w2]', 'wartosc2'); Niby cookie się utworzyło, nie było żadnego błędu ani nic ale nie wiem jak teraz to odczytać. Próbowałem tak: if(isset($_COOKIE['cookie'])) //sprawdzanie czy cookie istnieje { //jeżeli ciastko jest to odczyt echo "w1: ", $_COOKIE["cookie[w1]"]; echo "w2: ", $_COOKIE["cookie[w2]"]; } else //jeżeli go nie ma to jakiś komunikat... Ale tak nic się nie dzieje. Próbowałem też echo "w1: ", $_COOKIE["cookie"]; i wtedy pojawia się "w1: Array" Także będę bardzo wdzięczny za pomoc bo już nie mam pomysłu jak to odczytać... Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 22 Stycznia 2013 Administratorzy Udostępnij Opublikowano 22 Stycznia 2013 $tablica = array('wartosc1', 'wartosc2'); A teraz sprawdź w manualu funkcję serialize i unserialize ;) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Arekadiusz Opublikowano 22 Stycznia 2013 Autor Udostępnij Opublikowano 22 Stycznia 2013 Nie wiem czy o to chodziło ale poczytałem o serialize i unserialize i zrobiłem coś takiego: $tab = serialize($_COOKIE['cookie']); echo $tab; I wywaliło mi jakieś znaczki w których m.in. są dane które chcę pobrać: a:2:{s:4:"wartosc1";s:1:"to_jest_wartosc_1";s:6:"wartosc2";s:18:"to_jest_wartosc_2";} Dobrze robie? Jak wyciągnąć z tego dane które są mi potrzebne? EDIT: OK, nie wiem jak ja to zrobiłem ale przeoczyłem unserialize a to właśnie ono służy do "odkodowania" tego czegoś ;) Dobra teraz już powinno być dobrze. Dzięki. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Dawka83 Opublikowano 22 Stycznia 2013 Udostępnij Opublikowano 22 Stycznia 2013 A nie prościej zrobić to za pomocą explode? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Arekadiusz Opublikowano 22 Stycznia 2013 Autor Udostępnij Opublikowano 22 Stycznia 2013 A jak tego użyć w tym moim przypadku? Coś szperałem w Google ale jakoś nie bardzo wiem jak tego użyć... Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Dawka83 Opublikowano 23 Stycznia 2013 Udostępnij Opublikowano 23 Stycznia 2013 Em no to wytłumaczę ci zasadę działania explode na tym przykładzie: //zapis $cookie_str = $value1.":".$value2; setcookie('cookie1', $cookie_str); //odczyt $cookie = $_COOKIE["cookie1"]; $cookie = explode(":", $cookie); echo $cookie[0]; //$value1 echo $cookie[1]; //$value2 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Arekadiusz Opublikowano 23 Stycznia 2013 Autor Udostępnij Opublikowano 23 Stycznia 2013 Dzięki teraz już kapuje. Może to rzeczywiście jest łatwiejsze ;) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 23 Stycznia 2013 Administratorzy Udostępnij Opublikowano 23 Stycznia 2013 ech, ech... setcookie('cookie1', serialize(array('wartosc1','wartosc2', ... , 'wartoscN'))); $wartosci = unserialize($_COOKIE['cookie1']); echo $wartosci[<liczba>]; Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Utermiko Opublikowano 23 Stycznia 2013 Udostępnij Opublikowano 23 Stycznia 2013 @Dawka83 A co w sytuacji, gdy ciasteczko zawiera znak ":" ? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Sernat Opublikowano 23 Stycznia 2013 Udostępnij Opublikowano 23 Stycznia 2013 @Dawka83 A co w sytuacji, gdy ciasteczko zawiera znak ":" ? Gnysek już podał rozwiązanie, a i zazwyczaj wiadomo jakie znaki mogą się zawierać w potrzebnych danych. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto
Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.
Zarejestruj nowe konto
Załóż nowe konto. To bardzo proste!
Zarejestruj sięZaloguj się
Posiadasz już konto? Zaloguj się poniżej.
Zaloguj się