BAZA WIEDZY
KURSY
Bazy danych w PHP
Kurs AdvancedAJAX
Kurs ASP
Kurs ASP.NET
Kurs C++
Kurs CSS
Kurs HTML
Kurs HTML drugi
Kurs JavaScript
Kurs MySQL
Kurs PHP
Kurs RSS
Kurs XHTML
Obiekty DOM
MANUALE
CSS1 - W3C
DOM - w budowie
PHP 2005
PHP 2006
Wyrażenia regularne
SHOUTBOX
STAT
Online: 17 | UU: 409
[PHP] Do czego służą cookies i jak je wykorzystać?
16 kwiecień 2007

Co to są cookies?

Cookies to małe pakiety informacji przechowywane lokalnie na komputerze użytkownika przeglądającego strony internetowe.

Do czego się ich używa?

Wykorzystywane są do zapamiętywania informacji związanych z danym użytkownikiem, który nawet po wyłączeniu komputera i ponownym wejściu na stronę internetową jest rozpoznawany, a wszystkie informacje związane z nim, wcześniej zapisane w cookies mogą zostać powrotnie wywołane. Mogą to być np. pewne opcje personalizujące przeglądanie strony, które użytkownik ustawił indywidualnie do swoich potrzeb, a których nie chciałby utracić z chwilą wyłączenia przeglądarki.

Czy to dobre rozwiązanie?

Cookies są bardzo łatwym w użyciu narzędziem, jednak ze względu, że zapisywane są na komputerze użytkownika w łatwy sposób mogą zostać utracone. Może to przykładowo nastąpić, gdy użytkownik wyczyści listę cookies w przeglądarce lub jakimś programem antywirusowym lub np. sformatuje dysk.

Poniższy przykład przedstawi w jaki sposób cookies czyli potoczne ciasteczka mogą być zarządzane kodem PHP.

Kod: php

<?php
  setCookie("NazwaCiasteczka", "WartoscCiasteczka");
    if(isset($_COOKIE[‘NazwaCiasteczka’]))
    {
     echo "NazwaCiasteczka = $_COOKIE[’WartoscCiasteczka’]";
    }
    else
    {
     echo "Ciasteczka zostały ustawione, proszę odświeżyć stronę!";
    }
?>

Jeżeli chcemy aby ustawione ciasteczka zapamiętywane były tylko na pewien czas powinniśmy zastosować następujący kod.

Kod: php

<?php
  $wygasniecie = time() + (60 * 60); //po godzinie
  $wygasniecie = time() + (60 * 60 * 2); //po dwóch godzinach
  $wygasniecie = time() + (60 * 60 * 24); //po jednym dniu
  $wygasniecie = time() + (60 * 60 * 24 * 7); //po tygodniu
?> 

Zmienna $wygasniecie podczas załadowania kodu przyjmuje wartość większą od obecnej time() o pewien okres czasu. Np. godzinę czyli 60×60=3600 sekund. Oznacza to, że od chwili ustawienia ciasteczek przez przeglądarkę, zostaną one usunięte po dwóch godzinach. Przeanalizujmy to jeszcze raz na poniższym przykładzie.

Kod: php

<?php
  $wygasniecie = time() + (60 * 60 * 24 * 4);
  setCookie("NazwaCiasteczka", "WartoscCiasteczka",$wygasniecie); //wygaśnie po 4 dniach
?> 

Ciasteczka wygasną zgodnie z powyższym przykładem po upływie 4 dni. Aby sprawdzić czy faktycznie wszystko działa spróbuj zastosować poniższy kod:

Kod: php

<?php
  $wygasniecie = time() - (60 * 60 * 24 * 4);// minus 4 dni
  setCookie("CookieName", "CookieValue",$wygasniecie); //wygaśnięcie ciasteczek
?>

Ze względu na to, że zmianna $wygasniecie była mniejsza niż wartość obecna czasu, ciasteczka zostały skasowane.

Autor: Adam Suchowski 

Dodaj komentarz









Komentarze
14 odpowiedzi
29 kwiecień 2010, godz. 6:54

W tekście jest drobny błąd interpretacyjny.

Otóż, jeśli czas wygaśnięcia nie jest ustawiony, ciasteczko wygasa przy zakończeniu sesji użytkownika (czyli po zamknięciu przeglądarki). Żeby cookies nie wygasło, można ustawić jego datę końcową na np. rok 2020.

Ruda
11 lipiec 2009, godz. 3:42

jak wlaczyc te ciasteczka !!!!!!!!!! kos wie ???

sina dal
11 marzec 2009, godz. 8:42

“zajebiste” te ciasteczka!!!!po prostu “ułatwiły” mi życie!!!!!

Anonim
30 styczeń 2009, godz. 8:46

max sandra ela sarh cneya consic macow codila

saf
22 styczeń 2009, godz. 10:24

fgf
11 styczeń 2009, godz. 9:25

huj w dupie

agagra-29
9 styczeń 2009, godz. 8:37

jak włączyć te ciasteczka ktoś mi pomoże?

marco
5 listopad 2008, godz. 6:32

jak wylaczyc te ciasteczka??????????????

31 sierpień 2008, godz. 12:32

Dodaj do kodu na początku ob_start();

Viton
28 kwiecień 2008, godz. 1:17

No, ładnie :]

25 kwiecień 2008, godz. 12:22

skrypt jest tyć koślawy, radze poprawić na:

if(isset($_COOKIE[’NazwaCiasteczka’]))
{
echo “NazwaCiasteczka =”. $_COOKIE[’NazwaCiasteczka’].”";
}
else
{
echo “Ciasteczka zostały ustawione, proszę odświeżyć stronę!”;
}

Anonim
26 marzec 2008, godz. 3:25

no właśnie jak je włączyć??? mam ten sam problem!!!

Anonim
26 marzec 2008, godz. 3:24

jak włączyć ciasteczka!!!????????????

Anonim
12 marzec 2008, godz. 11:41

Nie moge sie zalogopwac na gronie przez te pieprz… ciasteczka.. o co chodzi?? jak to wyłączyć??

 
 
Copyright © 2006-2011 egrafik.pl | Kontakt | Reklama | Projekty domów
jocker