Ciasteczka w PHP

Autor podstrony: Krzysztof Zajączkowski

Stronę tą wyświetlono już: 5092 razy

Ponieważ protokół HTTP nie dostarcza możliwości przesyłania danych pomiędzy dwiema stronami konieczne było wymyślenie odpowiedniego mechanizmu na realizację tego typu zadań. Przykładem (takim najprostszym) jest stworzenie statystyki strony, która zliczałaby nowo odwiedzających stronę użytkowników. W PHP do tego typu prostych zadań służą ciasteczka, które umożliwiają przechowywanie niewielkiej ilości informacji na dysku twardym przeglądającego stronę użytkownika.

Uwaga! Ciasteczek nie powinno się wykorzystywać do przesyłania danych poufnych takich jak login czy hasło, a to dlatego, że takie dane łatwo jest wykraść.

Do tworzenia ciasteczek służy funkcja setcookie, natomiast dane z istniejącego ciasteczka utworzonego przez stronę, z której ono pochodzi są dostępne w globalnej tablicy asocjacyjnej $_COOKIE. Oto prosty przykład tworzenia takiego ciasteczka:

<?php setcookie('last_time', time(), time() + 30 * 24 * 60 * 60); // time() - bieżąca data + 30 [dni] * 24 [godziny] * 60 [minuty] * 60 [sekundy] = czas wygaśnięcia ciasteczka w sekundach if(isset($_COOKIE['last_time'])){ echo("<p>Już tu byłeś, już tę stronę nawiedziłeś!</p>"); echo("<p>" . date('d.m.Y, H:i:s', $_COOKIE['last_time']) . "</p>"); }else{ echo("<p>Witaj w moich skromnych progach</p>"); } ?>

Funkcja setcookie jako pierwszy argument przyjmuje nazwę klucza, pod którym w tablicy asocjacyjnej $_COOKIE zostanie umieszczona podana w następnym argumencie tejże funkcji wartość. Kolejny argument określa datę w sekundach, po której przekroczeniu ciasteczko wygasa (zostaje usunięte przez przeglądarkę z dysku użytkownika).

Powyższy kod po pierwszym odwiedzeniu strony powinien wyświetlić coś takiego:

Witaj w moich skromnych progach

A po odświeżeniu strony oczom twym powinno pokazać się coś takiego:

Już tu byłeś, już tę stronę nawiedziłeś!

31.12.2016, 10:24:59

Funkcja setcookie powinna być wywołana na samym początku strony, aby zadziałała poprawnie i utworzyła na dysku twardym odwiedzającego stronę ciasteczko z informacjami. Funkcja ta przyjmuje również inne parametry, takie jak:

Propozycje książek
tytuł: PHP i MySQL. Aplikacje internetowe po stronie serwera autor: Jon Duckett

Tytuł:

PHP i MySQL. Aplikacje internetowe po stronie serwera

Autor:

Jon Duckett

tytuł: PHP 8 i SQL. Programowanie dla początkujących w 43 lekcjach autor: Mariusz Duka

Tytuł:

PHP 8 i SQL. Programowanie dla początkujących w 43 lekcjach

Autor:

Mariusz Duka

tytuł: CodeIgniter 4. Zaawansowane tworzenie stron WWW w PHP autor: Łukasz Sosna

Tytuł:

CodeIgniter 4. Zaawansowane tworzenie stron WWW w PHP

Autor:

Łukasz Sosna

tytuł: PHP 7 MySQL 8 i Maria DB Praktyczny podręcznik autor: Steve Prettyman, Adrian W. West

Tytuł:

PHP 7 MySQL 8 i Maria DB Praktyczny podręcznik

Autor:

Steve Prettyman, Adrian W. West

tytuł: PHP i MySQL. Dynamiczne strony WWW. Szybki start. Wydanie V autor: Larry Ullman

Tytuł:

PHP i MySQL. Dynamiczne strony WWW. Szybki start. Wydanie V

Autor:

Larry Ullman

tytuł: PHP 7. Algorytmy i struktury danych autor: Mizanur Rahman

Tytuł:

PHP 7. Algorytmy i struktury danych

Autor:

Mizanur Rahman

tytuł: PHP i MySQL. Tworzenie stron WWW. Vademecum profesjonalisty. Wydanie V autor: Luke Welling, Laura Thomson

Tytuł:

PHP i MySQL. Tworzenie stron WWW. Vademecum profesjonalisty. Wydanie V

Autor:

Luke Welling, Laura Thomson

tytuł: PHP i jQuery. Techniki zaawansowane. Wydanie II autor: Keith Wald, Jason Lengstorf

Tytuł:

PHP i jQuery. Techniki zaawansowane. Wydanie II

Autor:

Keith Wald, Jason Lengstorf

tytuł: Laravel 4. Podstawy tworzenia aplikacji w PHP autor: Raphaël Saunier

Tytuł:

Laravel 4. Podstawy tworzenia aplikacji w PHP

Autor:

Raphaël Saunier

tytuł: Magento. Przewodnik dla programistów PHP autor: Allan MacGregor

Tytuł:

Magento. Przewodnik dla programistów PHP

Autor:

Allan MacGregor

W związku z tym, że firma Helion nie wywiązuje się z swoich zobowiązań naliczania prowizji za każdą zakupioną książkę a kontakt z ową frmą jest nie możliwy autor strony zmuszony został do zablokowania linkowania książek. Za wszelkie niedogodności z tym związane z góry przepraszam i obiecuję włączenie linkowania gdy tylko sprawa zostanie wyjaśniona