Rozpoczynanie i używanie sesji
Rozpoczynaj sesję za pomocą session_start i przechowuj dane w _SESSION
Rozpoczynanie i używanie sesji to bezpłatna lekcja PHP Academy na CoddyKit. To lekcja 1 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej PHP Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs PHP Academy zawiera 4 lekcji w sumie.
Czym są sesje PHP?
HTTP jest bezstanowy. Sesje PHP przechowują dane między wieloma żądaniami po stronie serwera i odwołują się do nich za pomocą identyfikatora sesji zapisanego w ciasteczku.
session_start()
Wywołaj session_start() przed wysłaniem jakichkolwiek danych wyjściowych. Funkcja wznowi istniejącą sesję albo utworzy nową.
<?php
session_start();
// Must be called before any echo/HTML outputPrzechowywanie danych w $_SESSION
Superglobalna zmienna $_SESSION jest zwykłą tablicą. Przypisuj wartości do kluczy, aby przechowywać dane bieżącej sesji.
<?php
session_start();
$_SESSION["user_id"] = 42;
$_SESSION["username"] = "alice";
$_SESSION["cart"] = [];Odczytywanie danych sesji
Uzyskaj dostęp do danych sesji w kolejnych żądaniach po wywołaniu session_start().
<?php
session_start();
if (isset($_SESSION["user_id"])) {
echo "Welcome back, ".$_SESSION["username"];
} else {
echo "Please log in";
}Usuwanie kluczy sesji
Użyj unset(), aby usunąć pojedyncze klucze sesji.
<?php
session_start();
unset($_SESSION["cart"]);Niszczenie sesji
Aby całkowicie wylogować użytkownika: usuń wszystkie dane sesji, zniszcz sesję i wygaś ciasteczko.
<?php
session_start();
$_SESSION = [];
if (ini_get("session.use_cookies")) {
$p = session_get_cookie_params();
setcookie(session_name(), "", time()-3600,
$p["path"], $p["domain"], $p["secure"], $p["httponly"]);
}
session_destroy();Przechowywanie danych sesji
Domyślnie PHP przechowuje dane sesji w plikach w katalogu tymczasowym serwera. Niestandardowe mechanizmy obsługi mogą przechowywać sesje w Redis, Memcached lub bazie danych.
Identyfikator sesji
Pobieraj lub ustawiaj identyfikator sesji za pomocą session_id(). Domyślnie identyfikator jest wysyłany do klienta jako ciasteczko o nazwie PHPSESSID.
Czas życia sesji
Kontroluj czyszczenie danych za pomocą session.gc_maxlifetime (liczba sekund bezczynności, po której dane mogą zostać usunięte).
Komunikaty flash
Sesje doskonale nadają się do przechowywania jednorazowych komunikatów flash po przekierowaniu.
<?php
// Set:
$_SESSION["flash"] = "Profile updated!";
header("Location: /profile");
// Read and remove:
$msg = $_SESSION["flash"] ?? null;
unset($_SESSION["flash"]);
echo $msg;Sesja a ciasteczko
Sesje przechowują dane po stronie serwera (do klienta wysyłany jest tylko identyfikator). Ciasteczka przechowują dane po stronie klienta. Sesje są bezpieczniejsze w przypadku poufnych danych.
Podsumowanie
Wywołuj session_start() na początku każdej strony korzystającej z sesji. Używaj $_SESSION do odczytu i zapisu danych. Podczas wylogowywania niszcz sesję.
Szybkie sprawdzenie
Gdzie należy wywołać session_start()?
Często zadawane pytania
Czy lekcja „Rozpoczynanie i używanie sesji” jest bezpłatna?
Tak — pełny tekst „Rozpoczynanie i używanie sesji” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu PHP Academy, przejdź na CoddyKit PRO. Kurs PHP Academy zawiera 4 lekcji w sumie.
Co nauczysz się w „Rozpoczynanie i używanie sesji”?
Rozpoczynaj sesję za pomocą session_start i przechowuj dane w _SESSION Ćwiczysz PHP Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć PHP Academy?
Nie wymagamy żadnego doświadczenia. PHP Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 1 z 4.
Ile czasu zajmuje lekcja „Rozpoczynanie i używanie sesji”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji PHP Academy?
Tak. Każda lekcja PHP Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Rozpoczynanie i używanie sesji
- Dobre praktyki bezpieczeństwa sesji
- Ustawianie i odczytywanie ciasteczek
- Bezpieczeństwo ciasteczek: flagi HttpOnly i Secure