cookies od razu znikaja po zamknieciu okna przegladarki, jakustawic jes tak aby byly u usera caly czas?--Vroc
<Delphi Knight>
Ustawic czas zycia cookie na now()+duuuuza_liczba :)
setcookie("nazwa","wartosc",now()+360024311210); //taki cookie bedzie istnial ok. 10 lat po jego utworzeniu--Delphi 5
[ www.dchcorp.host.sk] - niestety w budowie :((
Pozdrawiam
Vroc napisał:
cookies od razu znikaja po zamknieciu okna przegladarki, jakustawic jes tak aby byly u usera caly czas?
Ja osobiście nie lubie ciastek bo zawsze są z nimi problemy,
np kiedy próbuje się takie ustawić z pod domeny prv.pl
ale mnijsza z tym, nie wiem nie mam pojęcia, poniżej masz
cały dział dotyczący cookie z manuala, teoretycznie po
przeczytaniu powinieneś znać odpwiedź, a mi się tego
czytać nie chce :D
setcookie
(PHP 3, PHP 4 >= 4.0.0)
setcookie -- Wysyła ciasteczko
Opis
int setcookie ( string nazwa [, string wartość [, int data_ważności [, string ścieżka [, string domena [, int bezpieczne]]]]])
setcookie() określa ciasteczko (ang. cookie) do wysłania z nagłówkami HTTP. Ciasteczko musi być wysłane zanim jakiekolwiek inne nagłówki zostaną wysłane (to jest ograniczenie ciasteczek, nie PHP). To wymaga od ciebie umieszczenia wywołań tej funkcji przed znacznikami <html> czy <head>.
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). Argument data_ważności jest regularnym uniksowym znacznikiem czasu, takim jak zwracany przez funkcje time() lub mktime (). Argument bezpieczne oznacza, że ciasteczko może być przekazywane tylko poprzez bezpieczne połączenie HTTPS.
Częste pułapki:
Ciasteczka nie będą widziane do następnego przeładowania strony dla której mają być widoczne.
Ciasteczko może być usunięte tylko z tymi parametrami, z jakimi je ustawiono.
W PHP 3, wielokrotne wywołania setcookie() w jednym skrypcie wykonywane były w odwrotnej kolejności. Jeśli chcesz usunąć jedno ciastko przed wprowadzeniem kolejnego, powinieneś umieścić wprowadzenie nowego przed usunęciem starego. W PHP 4, wielokrotne wywołania setcookie() wykonywane są we właściwej kolejności.
Parę przykładów - jak wysyłać ciasteczka: Przyk³ad 1. setcookie() wysyła przykładowe ciasteczka
setcookie ("TestCookie", $value);
setcookie ("TestCookie", $value,time()+3600); /* traci ważność za godzinę */
setcookie ("TestCookie", $value,time()+3600, "/~rasmus/", ".utoronto.ca", 1);
Aby skasować ciasteczko, należy ustawić datę ważności na datę w przeszłości, co uruchomi w przeglądarce mechanizm kasowania ciasteczek. A teraz, jak usunąć ciasteczka z poprzedniego przykładu: Przyk³ad 2. Kasowanie ciasteczek
- ustaw datę ważności na godzinę wstecz
setcookie ("TestCookie", "", time() - 3600);
setcookie ("TestCookie", "", time() - 3600, "/~rasmus/", ".utoronto.ca", 1);
Proszę zwrócić uwagę, że zawartość ciasteczka jest automatycznie kodowana do formatu URL przy wysyłaniu, a po odebraniu automatycznie dekodowana i przypisywana do zmiennej o tej samej nazwie co ciasteczko. Aby poznać zawartość przykładowego ciasteczka ze skryptu, należy zastosować poniższy przykład:
echo $TestCookie;
echo $HTTP_COOKIE_VARS["TestCookie"];
Można też tworzyć tablice złożone z ciasteczek za pomocą zapisu tablicowego w nazwie ciasteczka. Powoduje to utworzenie tylu ciasteczek, ile jest elemetów tablicy, a po otrzymaniu takiego ciasteczka, jego wartości umieszczane są w tablicy o nazwie takiej jak ciasteczko.
setcookie ("cookie[three]", "cookiethree");
setcookie ("cookie[two]", "cookietwo");
setcookie ("cookie[one]", "cookieone");
if (isset ($cookie)) {
while (list ($name, $value) = each ($cookie)) {
echo "$name == $value<br>\n";
}
}
Więcej informacji na temat ciasteczek znajduje się w specyfikacji Netscape'a, na stronie http:*www.netscape.com/newsref/std/cookie_spec.html.
Microsoft Internet Explorer 4 z zainstalowanym Service Pack 1 nie radzi sobie poprawnie z ciasteczkami, które mają ustawiony parametr ścieżka.
Netscape Communicator 4.05 i Microsoft Internet Explorer 3.x niepoprawnie obsługują ciasteczka, w których ścieżka i data_ważności nie są ustawione.
--__________________________________
Pozdrawiam...
piechnat