Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][zend] cookie nie działa
Forum PHP.pl > Forum > Przedszkole
-kociupk-
mam banalny problem z cookie a mianowicie nie odbiera danych
kod wygląda następująco
  1. $pp_client = $this->getRequest()->getParam('id');
  2.  
  3. if(isset($pp_client))
  4. {
  5. setcookie('user_pp', $pp_client ,time()+3600*24*7);
  6.  
  7. $this->view->pp_client = $pp_client;
  8. }
  9.  
  10. if(isset($_COOKIE['user_pp']))
  11. {
  12. $this->view->pp_client = $_COOKIE['user_pp'];
  13. }
sada
cytuje

gdy ciasteczko jest zakładane po raz pierwszy, jego zawartość zostanie odesłana dopiero po ponownym odwołaniu się do serwera
darko
a ja dodam od siebie, że Zend ma wbudowaną klasę do obsługi ciasteczek ---> Zend_Http_Cookie
-kociupk-
Cytat
gdy ciasteczko jest zakładane po raz pierwszy, jego zawartość zostanie odesłana dopiero po ponownym odwołaniu się do serwera

i mój kod na takiej zasadzie powinien działać a nie działa

powiedzmy ze wchodzę na stronę www.przykladowadomena.pl/index/add/id/jakasnazwa odbieram dane metoda $_GET['id'] i ciasteczko się wysyła oraz przekazuje dane do widoku
  1. $pp_client = $this->getRequest()->getParam('id');
  2.  
  3. if(isset($pp_client))
  4. {
  5. setcookie('user_pp', $pp_client ,time()+3600*24*7);
  6.  
  7. $this->view->pp_client = $pp_client;
  8. }


a jak wchodzę ponownie na stronę www.przykladowadomena.pl/index/add to sprawdzam czy ciasteczko istnieje jeśli istnieje to przekazuje dane do widoku
  1. if(isset($_COOKIE['user_pp']))
  2. {
  3. $this->view->pp_client = $_COOKIE['user_pp'];
  4. }

i ten kod ma jakiś błąd bo jak wejdę na stronę www.przykladowadomena.pl/index/add/id/jakasnazwa a później na stronę www.przykladowadomena.pl/index/add to powinna się wykonać druga część kodu ale tak nie ma i nie mam pojęcia dla czego
batman
Dodaj jako czwarty parametr do funkcji setcookie slash (/).
kociupk
próbowałem już wcześniej setcookie('user_pp', $pp_client ,time()+3600*24*7, '/'); ale po odświeżeniu strony jako $_COOKIE['user_pp'] wyświetla "images" pomimo tego że w linku było www.jakasnazwa.pl/index/add/id/test
batman
Zrób echo przed setcookie i sprawdź co zapisujesz. Możliwe, że gdzieś po drodze zmienna Ci się nadpisuje. Do tego sprawdź, czy nie nadpisujesz ciastka w innym miejscu.
kociupk
wchodzę na stronę www.jakasnazwa.pl/index/add/id/test chce zapisać do ciasteczka "test" dodaje przed setcookie echo i na stronie wyświetla mi się 1 więc nie mam pojęcia co jest grane bo na pewno nigdzie ciasteczko nie jest nadpisywane
batman
Wyświetl zawartość zmiennej, a nie wynik działania funkcji setcookie.
kociupk
zmienna wyświetla się taka jak jest podana w linku
batman
Szczerze przyznam, że zadałeś mi nie lada zagadkę. Jedyne co na podstawie dostarczonego kodu jestem w stanie wydumać to to, że w którymś miejscu nadpisujesz zawartość ciasteczka lub zmiennej. Niestety nie jestem w stanie bardziej Ci pomóc.
kociupk
Też nie mam pojęcia czemu tak się dzieje. Ale już udało mi się rozwiązać ten problem dodając router czyli przyjazny link zamiast www.jakasnazwa.pl/index/add/id/test zrobilem www.jakasnazwa.pl/dodaj-klient-test.html i wszystko działa.
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.