Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: php, IE i ciasteczka
Forum PHP.pl > Forum > Przedszkole
jot23
Witam wszystkich !

Chciałbym opisać problem (i jednocześnie jego rozwiązanie) na który trafiłem
z php i ciasteczkami na IE
1. w pliku a.php ustawiam ciasteczko setcookie ('user', 'ja', time()+3600);
i ciasteczko jest
2. w pliku b.php usuwam ciasteczko setcookie ('user');
i ciasteczka nie ma

kolejny krok
1. w pliku a.php ustawiam ciasteczko setcookie ('user', 'ja', time()+3600, '/moja_strona/', 'localhost');
2. w pliku b.php usuwam ciasteczko setcookie ('user');
i nic ! ciasteczko nie jest usuwane, dodatkowo nie jest widoczne z localhost. A że jest w przegladarce jestem pewien, bo je widzę pod przegladając ciasteczka !

kolejny krok
1. zamieniam 'localhost' na '.localhost'
i nic ! Nie działa tak jak wyżej

kolejny krok
1. w pliku a.php ustawiam ciasteczko setcookie ('user', 'ja', time()+3600, '/moja_strona/', '');
2. w pliku b.php usuwam ciasteczko setcookie ('user');
i postęp ! Widzę już ciasteczko, ale nie mogę go usunąć !

kolejny krok
1. w pliku a.php ustawiam ciasteczko setcookie ('user', 'ja', time()+3600, '/moja_strona/', '');
2. w pliku b.php usuwam ciasteczko setcookie ('user','',time()-3600,'/moja_strona/','');
i teraz wszystko działa ! Widzę ciasteczko, i mogę je też usunąć !

Pytanie:
W dokumentacji php wyczytałem, że ciasteczko usuwa się wywołując setcookie tylko z nazwą (setcookie('user')). Jak widać nie zawsze to działa. Czy to jest błąd php, IE czy tak powino być ?
DavidPL
Cytat z manuala:
Cytat
Argumenty data_ważności i bezpieczne są liczbami całkowitymi i nie można ich opuścić wstawiając pusty łańcuch. Zamiast niego użyj liczby zero (0). Argument data_ważności jest regularnym uniksowym znacznikiem czasu, takim jak zwracany przez funkcje time() lub mktime ().


Wygląda na to że jednak lepiej podać te parametry ciasteczka, ustawiając czas życia na przeszły.

--
Pozdrawiam,
Dawid Szałęga

P.S. Ciasteczka są trzymane lokalnie i datę życia też mają sprawdzaną według czasu na kompie, natomiast są ustawiane według czasu na serwerze. Myślę że to też może być przyczyną.
jot23
U mnie serwer i komp to jedno ! (pisałem przecież że localhost) Czas jest jednakowy. Po za tym jak ustawiałem setcookie ('user', 'ja', time()+3600) to mogłem kasować przez setcookie ('user'). Problemy zaczęly się dopiero przy dołożeniu do setcookie ścieżki i domeny smile.gif
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.