Funkcja PHP setcookie()

Definicja i użycie

Funkcja setcookie() wysyła HTTP cookie do klienta.

Cookie to zmienne wysyłane przez serwer do przeglądarki. Cookie to zazwyczaj małe pliki tekstowe wstawiane przez serwer do komputera użytkownika. Każdy raz, gdy komputer żąda strony za pomocą przeglądarki, wysyłany jest ten cookie.

Nazwa cookie jest określona jako zmienna o tej samej nazwie. Na przykład, jeśli wysyłane cookie ma nazwę "name", automatycznie tworzy się zmienna $user, która zawiera wartość cookie.

Musisz przypisać cookie przed wysłaniem jakiegokolwiek innego wyjścia.

Jeśli funkcja zwróci true, to oznacza sukces, w przeciwnym razie zwróci false.

Gramatyka

setcookie(name,value,expire,path,domain,secure)
Parametry Opis
name Wymagane. Określa nazwę cookie.
value Wymagane. Określa wartość cookie.
expire Opcjonalnie. Określa okres ważności cookie.
path Opcjonalnie. Określa ścieżkę serwera cookie.
domain Opcjonalnie. Określa domenę cookie.
secure Opcjonalnie. Określa, czy cookie mają być przesyłane przez bezpieczne połączenie HTTPS.

Wskazówki i komentarze

Komentarz:Możesz uzyskać wartość cookie o nazwie "user" za pomocą $HTTP_COOKIE_VARS["user"] lub $_COOKIE["user"]

Komentarz:Podczas wysyłania cookie, wartość cookie jest automatycznie kodowana URL. Podczas odbierania jest dekodowana. Jeśli nie potrzebujesz tego, możesz użyć setrawcookie() zamiast tego.

Przykład

Przykład 1

Ustawienie i wysłanie cookie:

<?php
$value = "my cookie value";
// Wyślij prosty cookie
setcookie("TestCookie",$value);
?>
<html>
<body>
...
...
<?php
$value = "my cookie value";
// Wyślij cookie, które wygaśnie po 24 godzinach
setcookie("TestCookie",$value, time()+3600*24);
?>
<html>
<body>
...
...

Przykład 2

Wyszukiwanie różnych metod wartości cookie:

<html>
<body>
<?php
// Wydrukuj pojedynczy cookie
echo $_COOKIE["TestCookie"];
echo "<br />";
echo $HTTP_COOKIE_VARS["TestCookie"];
echo "<br />";
// Wyjście wszystkich cookie
print_r($_COOKIE);
?>
</body>
</html>

Wyjście:

moja wartość ciasteczka
moja wartość ciasteczka
Array ([TestCookie] => moja wartość ciasteczka)

Przykład 3

// Usuń cookie, ustawiając datę wygaśnięcia na datę/minutę w przeszłości

<?php
// Ustaw datę wygaśnięcia na godzinę temu
setcookie ("TestCookie", "", time() - 3600);
?>
<html>
<body>
...
...

Przykład 4

Utwórz tablicę cookie:

<?php
setcookie("cookie[three]","cookiethree");
setcookie("cookie[two]","cookietwo");
setcookie("cookie[one]","cookieone");
// Wyjście cookie (po przeładowaniu strony)
if (isset($_COOKIE["cookie"]))
  {
  foreach ($_COOKIE["cookie"] as $name => $value)
    {
    echo "$name : $value <br />";
    }
  }
?>
<html>
<body>
...
...

Wyjście:

three : cookiethree
two : cookietwo
one : cookieone