Ciasteczka (cookies) – tworzenie, odczytywanie, usuwanie
PHP + MySQL Aktualizacja: 25.07.2017

Ciasteczka (cookies) – tworzenie, odczytywanie, usuwanie

Ciasteczka (ang. cookies) to niewielkie informacje tekstowe. Przekazywane są przez serwer WWW do przeglądarki użytkownika, który odwiedza daną stronę. Stosowane są najczęściej w wszelkiego rodzaju licznikach, ankietach, sondach aż po sklepy internetowe czy strony wymagające logowania. W tej poradzie przekonamy się jak można je wykorzystać oraz poznamy zalety zastosowania takiego rozwiązania na własnej stronie internetowej.

Tworzenie ciasteczek

Na początek zobaczmy jak wysłać ciasteczko do użytkownika. Kod jest krótki oraz prosty do zrozumienia dla osób, które znają podstawy języka PHP. Wyślemy ciastko o nazwie "uzytkownik" i wartości "JanKowalski", Przy okazji wyślemy również hasło naszego użytkownika - nazwa "haslo" o wartości "AlaMaKota". Dodamy również informację, iż ma być ono ważne przez 1 godzinę - po tym czasie zostanie usunięte z pamięci przeglądarki użytkownika.

Ciasteczka przekazywane są za pomocą nagłówków HTTP. Muszą być one wysłane zanim do przeglądarki zostanie wysłana jakakolwiek inna treść. W związku z tym przed zapisaniem ciasteczka nie może być żadnego wywołania funkcji echo i pochodnych, a także tag otwierający tryb PHP musi być pierwszymi znakami w pliku - nie może być żadnej spacji ani pustych wierszy.

PHP automatycznie odczytuje ciasteczka i zamienia je na zmienne. Są one przechowywane w tablicy asocjacyjnej $_COOKIE, w której kluczami są nazwy ciasteczek. Ciasteczka ustawia się je pomocą funkcji setcookie( nazwa, wartość, czas_wygaśnięcia, ścieżka, domena, bezpieczeństwo).

<?php
setcookie("uzytkownik", "Marian", time()+3600);
setcookie("haslo", "AlaMaKota", time()+3600);
?>

Odczytywanie ciasteczek

Skoro wysłaliśmy ciastko, które zawiera przykładowe dane spróbujemy je odczytać. Aby to uczynić posługujemy się nazwami ciasteczek czyli "uzytkownik" oraz "haslo".

<?php
echo "Nazwa użytkownika: ".$_COOKIE['uzytkownik'];
echo "Hasło: ".$_COOKIE['haslo'];
?>

Kasowanie ciasteczek

Jeżeli chcemy skasować dane ciasteczko szybciej niż jest to określone, należy ponownie posłużyć się wyżej wymienioną funkcją. Zostanie skasowane ponieważ wskazujemy na czas przeszły (czas teraźniejszy - 3600 s). Jeśli będzie równy zero - ciasteczko będzie ważne tylko do zamknięcia przeglądarki.

<?php
setcookie ("NAZWA_COOKIE", "", time() - 3600);
?>

Jak zauważamy wszystko opiera się na jednej funkcji w PHP, jest to proste do zrozumienia. Można je wykorzystać do sprawdzenia, czy użytkownik odwiedza stronę po raz pierwszy czy kolejny - a od tego uzależnić na przykład wyświetlane wiadomości. W przypadku pytań zachęcam do napisania komentarza pod poradą.

Autor: . Tagi: , , . Źródło obrazek główny: Pixabay.

Dodaj komentarz

1 Komentarz do "Ciasteczka (cookies) – tworzenie, odczytywanie, usuwanie"

avatar
najnowszy najstarszy oceniany
Michał
Gość

Witam,
mam pytanie odnośnie tego jak wykorzystać ciasteczka do tego by zrobić link na stornie mobilnej który prowadził by do pełnej wersji strony.
Zwykły link nie działa gdyż odrazu przekierowuje mnie z pełnej na mobilną
Pozdrawiam