setcookie() to funkcja PHP służąca do tworzenia, modyfikowania i usuwania ciasteczek po stronie przeglądarki użytkownika. W pytaniach egzaminacyjnych poprawną odpowiedzią na pytanie o funkcję tworzącą cookie w PHP jest właśnie setcookie().
Podstawowa składnia
setcookie(nazwa, wartosc, czas_wygasniecia, sciezka, domena, secure, httponly);
Najczęściej używa się pierwszych trzech parametrów:
setcookie('login', 'jan', time() + 3600);
Ten kod tworzy ciasteczko o nazwie login, wartości jan, ważne przez 3600 sekund, czyli 1 godzinę.
Ważna zasada
Funkcja setcookie() musi zostać wywołana przed wysłaniem jakiejkolwiek treści HTML do przeglądarki. Nie powinno być wcześniej echo, kodu HTML ani przypadkowych spacji poza znacznikiem <?php.
Błędnie:
echo 'Witaj';
setcookie('user', 'admin');
Poprawnie:
setcookie('user', 'admin', time() + 3600);
echo 'Witaj';
Odczyt ciasteczka
Po utworzeniu cookie można odczytać przy kolejnym żądaniu strony za pomocą tablicy superglobalnej $_COOKIE:
if (isset($_COOKIE['user'])) {
echo $_COOKIE['user'];
}
Usuwanie ciasteczka
Aby usunąć cookie, ustawia się czas wygaśnięcia w przeszłości:
setcookie('user', '', time() - 3600);
Do zapamiętania na egzamin
setcookie()tworzy ciasteczka w PHP.$_COOKIEsłuży do ich odczytu.setcookie()musi być użyte przed wysłaniem treści strony.- Nie istnieją standardowe funkcje PHP
createcookie(),echocokie()aniaddcokie().