HTTP jest protokołem bezstanowym, więc po przejściu na inną podstronę serwer nie "pamięta" automatycznie danych z poprzedniego żądania. W PHP mechanizmem utrzymania stanu jest sesja. Funkcja session_start() inicjuje sesję (lub wznawia istniejącą) i udostępnia tablicę $_SESSION, w której można przechowywać dane związane z danym użytkownikiem między kolejnymi wejściami na różne strony.
Dlatego poprawne jest zastosowanie tej funkcji przy implementacji wielostronicowej witryny wymagającej dostępu do danych podczas przechodzenia pomiędzy stronami. Typowe przykłady to: utrzymanie informacji o zalogowaniu, roli użytkownika, zawartości koszyka czy etapów wieloetapowego procesu.
Odpowiedź o wczytywaniu danych z plików zewnętrznych jest błędna, ponieważ do odczytu plików używa się innych funkcji (np. operacji na plikach), a sesja nie jest mechanizmem importu danych z plików.
Stwierdzenie o dowolnej witrynie, która obsługuje ciasteczka także jest nietrafne: cookies mogą istnieć niezależnie od sesji. Co więcej, sesja w PHP często wykorzystuje ciasteczko tylko do przenoszenia identyfikatora sesji, ale to nie oznacza, że każda strona używająca cookies musi uruchamiać sesję.
Odpowiedź o obsłudze formularza jest zbyt ogólna. Samo przetworzenie danych z formularza można wykonać bez sesji (np. korzystając z $_POST). Sesja staje się potrzebna dopiero, gdy dane z formularza mają wpływać na stan użytkownika widoczny na kolejnych podstronach (np. po logowaniu).
Wskazówka egzaminacyjna: jeśli w zadaniu pojawia się potrzeba "pamiętania" informacji o użytkowniku między różnymi stronami/żądaniami, szukaj rozwiązań opartych o sesję i kojarz je z session_start() oraz $_SESSION.