Pliki cookie PHP
Co to jest plik cookie?
Plik cookie jest często używany do identyfikacji użytkownika. Plik cookie to mały plik, który serwer osadza na komputerze użytkownika. Za każdym razem, gdy ten sam komputer zażąda strony z przeglądarką, wyśle również plik cookie. Dzięki PHP możesz zarówno tworzyć, jak i pobierać wartości plików cookie.
Twórz pliki cookie za pomocą PHP
Z setcookie()
funkcją tworzony jest plik cookie.
Składnia
setcookie(name, value, expire, path, domain, secure, httponly);
Wymagany jest tylko parametr name . Wszystkie inne parametry są opcjonalne.
PHP Utwórz/Pobierz plik cookie
Poniższy przykład tworzy plik cookie o nazwie „user” o wartości „John Doe”. Plik cookie wygaśnie po 30 dniach (86400 * 30). „/” oznacza, że plik cookie jest dostępny w całej witrynie (w przeciwnym razie wybierz preferowany katalog).
Następnie pobieramy wartość pliku cookie „user” (używając zmiennej globalnej $_COOKIE). Korzystamy również z isset()
funkcji, aby dowiedzieć się, czy plik cookie jest ustawiony:
Przykład
<?php
$cookie_name = "user";
$cookie_value = "John Doe";
setcookie($cookie_name, $cookie_value, time() + (86400 * 30), "/"); // 86400 = 1 day
?>
<html>
<body>
<?php
if(!isset($_COOKIE[$cookie_name])) {
echo "Cookie named '" . $cookie_name . "' is not set!";
} else {
echo "Cookie '" . $cookie_name . "' is set!<br>";
echo "Value is: " . $_COOKIE[$cookie_name];
}
?>
</body>
</html>
Uwaga: funkcjasetcookie()
musi pojawić się PRZED znacznikiem <html>.
Uwaga: wartość pliku cookie jest automatycznie kodowana przez URL podczas wysyłania pliku cookie i automatycznie dekodowana po otrzymaniu (aby zapobiec kodowaniu URL, użyj setrawcookie()
zamiast tego).
Zmodyfikuj wartość pliku cookie
Aby zmodyfikować plik cookie, wystarczy ustawić (ponownie) plik cookie za pomocą setcookie()
funkcji:
Przykład
<?php
$cookie_name = "user";
$cookie_value = "Alex Porter";
setcookie($cookie_name, $cookie_value, time() + (86400 * 30), "/");
?>
<html>
<body>
<?php
if(!isset($_COOKIE[$cookie_name])) {
echo "Cookie named '" . $cookie_name . "' is not set!";
} else {
echo "Cookie '" . $cookie_name . "' is set!<br>";
echo "Value is: " . $_COOKIE[$cookie_name];
}
?>
</body>
</html>
Usuń plik cookie
Aby usunąć plik cookie należy skorzystać z setcookie()
funkcji z datą ważności w przeszłości:
Przykład
<?php
// set the expiration date to one hour ago
setcookie("user", "", time() - 3600);
?>
<html>
<body>
<?php
echo "Cookie 'user' is deleted.";
?>
</body>
</html>
Sprawdź, czy pliki cookie są włączone
Poniższy przykład tworzy mały skrypt, który sprawdza, czy włączone są pliki cookie. Najpierw spróbuj utworzyć testowe ciasteczko z setcookie()
funkcją, a następnie policz zmienną tablicową $_COOKIE:
Przykład
<?php
setcookie("test_cookie", "test", time() + 3600, '/');
?>
<html>
<body>
<?php
if(count($_COOKIE) > 0) {
echo "Cookies are enabled.";
} else {
echo "Cookies are disabled.";
}
?>
</body>
</html>
Kompletne informacje o sieci PHP
Aby uzyskać pełne informacje o funkcjach sieciowych, przejdź do naszego pełnego podręcznika PHP Network Reference .