KWALIFIKACJA INF3 - TEST WIEDZY NR 1

PYTANIE NR 31.
Rozważ następujący fragment kodu PHP:
<?php
session_start();
$_SESSION["favcolor"] = "green";
?>

Co ten kod robi?
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Funkcja session_start() inicjuje lub wznawia sesję, co umożliwia korzystanie z tablicy $_SESSION.
Następnie instrukcja $_SESSION["favcolor"] = "green" zapisuje w danych sesji (po stronie serwera) wartość przypisaną do klucza favcolor dla bieżącego użytkownika.

Pełne wyjaśnienie:

W PHP sesja służy do przechowywania stanu użytkownika pomiędzy kolejnymi żądaniami HTTP. Aby móc korzystać z danych sesyjnych w danym skrypcie, najpierw wywołuje się session_start(), które inicjuje nową sesję lub wznawia istniejącą (na podstawie identyfikatora sesji przekazywanego zwykle w ciasteczku).

Po uruchomieniu sesji dostępna jest superglobalna tablica $_SESSION. Przypisanie $_SESSION["favcolor"] = "green" zapisuje wartość green pod kluczem favcolor w danych sesji danego użytkownika. Dane te są logicznie kojarzone z identyfikatorem sesji i przechowywane po stronie serwera.

Dlaczego pozostałe odpowiedzi są błędne?

  • "Ustawia ciasteczko …" – ustawienie ciasteczka wymagałoby użycia funkcji typu setcookie(); samo przypisanie do $_SESSION nie tworzy ani nie modyfikuje wartości ciasteczka "favcolor".
  • "Usuwa zmienną sesji …" – usunięcie zwykle realizuje się przez unset($_SESSION[...]) lub zniszczenie sesji; tutaj następuje zapis (nadpisanie/utworzenie) wartości.
  • "Sprawdza, czy … ma wartość …" – sprawdzenie wymagałoby warunku (np. if) i porównania. W kodzie nie ma żadnej instrukcji porównującej.

Wskazówka egzaminacyjna: rozpoznaj operację po typowych konstrukcjach – session_start() + przypisanie do $_SESSION oznacza zapis danych sesyjnych, a nie logikę warunkową ani obsługę cookies.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
session_start() inicjuje nową sesję lub wznawia istniejącą, aby skrypt mógł odczytywać i zapisywać dane w $_SESSION. Bez tego wywołania dane sesji nie będą dostępne w bieżącym żądaniu.
To przypisanie ustawia (tworzy lub nadpisuje) wartość pod kluczem favcolor w tablicy $_SESSION. W praktyce zapisujesz informację "ulubiony kolor = green" dla aktualnej sesji użytkownika.
Ciasteczko ustawia się funkcją setcookie() (nagłówek HTTP). Przypisanie do $_SESSION dotyczy danych sesyjnych po stronie serwera, a nie wartości cookie o nazwie "favcolor".
Sesja w PHP zwykle pojawia się jako session_start() i operacje na $_SESSION. Ciasteczka rozpoznasz po setcookie() lub tablicy $_COOKIE. To dwa różne mechanizmy przechowywania stanu.
Dane w $_SESSION są dostępne w kolejnych żądaniach tego samego użytkownika, o ile sesja trwa i w każdym skrypcie wywołasz session_start(). W przeciwnym razie tablica sesji nie zostanie poprawnie wczytana.
Pojedynczą wartość usuwa się przez unset($_SESSION["favcolor"]). To różni się od przypisania, które zapisuje wartość. Na egzaminie zwracaj uwagę, czy w kodzie jest unset, czy operator =.
Potrzebujesz warunku, np. sprawdzenia istnienia i porównania wartości: najpierw session_start(), potem kontrola typu "czy ustawione i równe". Samo przypisanie nie jest sprawdzeniem, tylko zapisem.
Sesję trzeba uruchomić przed użyciem $_SESSION, bo dopiero wtedy PHP powiąże żądanie z danymi sesji i wczyta je. Pominięcie session_start() to częsty błąd skutkujący "pustą" sesją.
Same dane $_SESSION są przechowywane po stronie serwera. Po stronie klienta zwykle jest tylko identyfikator sesji (często w cookie). To ważne rozróżnienie przy pytaniach o bezpieczeństwo i trwałość danych.
Ćwicz krótkie fragmenty: uruchomienie sesji, zapis/odczyt w $_SESSION, usuwanie przez unset i porównanie w if. Ucz się też różnic z cookie (setcookie, $_COOKIE), bo to typowe dystraktory.
info

Około 63% zdających odpowiada poprawnie na to pytanie. średnie

Źródła:

  • PHP Manual: session_start — https://www.php.net/manual/en/function.session-start.php (dostęp: 2026-02-18)
  • PHP Manual: $_SESSION — https://www.php.net/manual/en/reserved.variables.session.php (dostęp: 2026-02-18)
  • PHP Manual: setcookie — https://www.php.net/manual/en/function.setcookie.php (dostęp: 2026-02-18)

Materiały:

  • Dokumentacja PHP: rozdział o sesjach (session_start, $_SESSION)
  • Ćwiczenia: proste logowanie i przechowywanie danych użytkownika w sesji
  • Porównanie sesji i ciasteczek w aplikacjach WWW (bezpieczeństwo, zakres, czas życia)

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego