Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Usuwanie ciasteczek
Forum PHP.pl > Forum > PHP
nexis
Problem nie jest aż tak wielki, aczkolwiek mnie zastanawia.

Ciasteczko ustawiam następująco:
[php:1:af38397681]<?php
setcookie("ciasteczko","wartosc");
?>[/php:1:af38397681]

i następnie chce je usunąć - można na dwa sposoby, lub oba naraz(?):
[php:1:af38397681]<?php
setcookie("ciasteczko", "");
?>[/php:1:af38397681]

lub/i

[php:1:af38397681]<?php
setcookie("ciasteczko", "wartosc",time()-1440);
?>[/php:1:af38397681]

A intryguje mnie fakt, że czasami (nie wiem jakie były ustawienia przeglądarki, ale na pewno przyjmowały ciasteczka) po ustawieniu ciasteczka, a następnie jego skasowaniu wartość ciasteczka wynosiła "deleted". Czyli kiedy sprawdzałem:

[php:1:af38397681]<?php
if (isset($ciasteczko)) {
//wartość ciasteczko po "skasowaniu" = deleted
//czyli ma jakąś wartość
//warunek jest prawdziwy
}
?>[/php:1:af38397681]

W jaki sposób najlepiej kasować ciasteczko i dlaczego ustawiła się wartość deleted?
scanner
do obsługi ciastek służy [manual:3de394c5ff]setcookie[/manual:3de394c5ff]() oraz tablica superglobalna $_COOKIE.
nexis
questionmark.gif?

A jak to się ma do mojego pytania? 8O
Pytałem czemu wartość ciasteczka po skasowaniu wynosiła "deleted", więc nadal ciasteczko miało jakąś wartość i którym sposobem najlepiej je usuwać.
scanner
[list]Czy po ustawieniu i skasowaniu ciasteczka przeładowujesz stronę?
[*]Czy jełsi $ciasteczko ma wartość "deleted" to $_COOKIE['ciasteczko'] też ma taką wartość?
[*]Czy powyższe objawy występują również w sytuacji, jeśli ustawisz ciasteczko [php:1:af2fa36f35]<?php
setcookie("ciasteczko","wartosc", time()+1440 /* lub inna wartość dodatia */ );
?>[/php:1:af2fa36f35]
[*] Czy nic nie nadpisuje zmiennej $ciasteczko przed warunkiem?[list]
nexis
Cytat
Czy po ustawieniu i skasowaniu ciasteczka przeładowujesz stronę?

Tak, jest to skrypt służący do wylogowania użytkownika, który się znajduje w oddzielnym pliku wyloguj.php i powraca do skryptu przy wykorzystaniu funkcji header();
Cytat
Czy jeśli $ciasteczko ma wartość "deleted" to $_COOKIE['ciasteczko'] też ma taką wartość?

Tak, oba wartości są takie same.
Cytat
Czy powyższe objawy występują również w sytuacji, jeśli ustawisz ciasteczko [php:1:399bd6e3d3]<?php
setcookie("ciasteczko","wartosc", time()+1440 /* lub inna wartość dodatia */ );
?>[/php:1:399bd6e3d3]

Nie, przy ustawianiu ciasteczka wszystko działa poprawnie (dlaczego też miałby się pojawić wartość "deleted" przy ustawianiu ciasteczka. smile.gif).
Cytat
Czy nic nie nadpisuje zmiennej $ciasteczko przed warunkiem?

Odwołanie do ciasteczka w każdym skrypcie odbywa się jednokrotnie.

A co tak naprawdę mnie zastanawia to fakt, że wartość "deleted" nie ustawia się zawsze - nie jest to problem występujący ciągle. Ale dokładnie nie mogę powiedzieć kiedy, bo często zmieniam komputer, z którego odwiedzam daną stronę i trudno mi to teraz określić.
scanner
Cytat
Cytat
Czy powyższe objawy występują również w sytuacji, jeśli ustawisz ciasteczko [php:1:c3e2b67e3c]<?php
setcookie("ciasteczko","wartosc", time()+1440 /* lub inna wartość dodatia */ );
?>[/php:1:c3e2b67e3c]

Nie, przy ustawianiu ciasteczka wszystko działa poprawnie (dlaczego też miałby się pojawić wartość "deleted" przy ustawianiu ciasteczka. smile.gif).
Widać nie zrozumiałeś, zatem wyjaśniam:
1. Ustaw ciasteczko z czasem
2. Skasuj ciasteczko z czasem wstecznym
3. Odpowiedz na pytanie
nexis
Ustawiam ciasteczko bez czasu dodatniego, bo żywotność ciasteczka, ma się ograniczać aż do momentu zamknięcia przeglądarki, lecz chcę stworzyć możliwość jego skasowania bez jej zamykania.
scanner
Ale sprawdzić chyba mozesz, prawda?
Sprawdź teź, czy problem przypadkiem nie występuje na okrełsonej wersji przeglądarki.
nexis
Przy utworzeniu ciasteczka z czasem dodatnim problem ten nie występuje, ale pytam dlaczego występuje w moim przypadku? Nie wiem czy zależy od przeglądarki - używam obecnie jednej i problem ten nie ma miejsca. :/
scanner
Cytat
Wszystkie argumenty poza nazwa są opcjonalne. Jeśli tylko argument nazwa jest obecny, ciasteczko o takie nazwie zostanie usunięte z klienta. Możesz też opuścić argumenty za pomocą pustego łańcucha (""). 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).
nexis
Dzięki - pomogło. 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.