Funkcji session_start() w PHP należy użyć przy realizacji:
A. strony wielostronicowej, która musi pamiętać dane przy przechodzeniu między stronami
Dobrze. Sesja przechowuje dane użytkownika między kolejnymi podstronami.
B. obsługi pojedynczego formularza
Źle. Sam odbiór formularza nie wymaga uruchamiania sesji.
C. wczytywania danych z plików zewnętrznych
Źle. Do odczytu plików służą inne funkcje (np.
fopen, file_get_contents).D. dowolnej strony obsługującej ciasteczka
Źle. Samo użycie cookies nie wymaga sesji.
Funkcja
session_start() uruchamia (lub wznawia) sesję - mechanizm pozwalający zapamiętać dane użytkownika pomiędzy kolejnymi odsłonami strony. Wywołuje się ją na początku skryptu, zanim cokolwiek zostanie wypisane, a dane przechowuje się w tablicy $_SESSION (np. login zalogowanej osoby czy zawartość koszyka). Przeglądarka trzyma tylko identyfikator sesji w ciasteczku, a same dane zostają na serwerze. Dlatego sesji używa się w serwisach wielostronicowych, gdzie dane muszą „przechodzić” między podstronami.Pozostałe sytuacje nie wymagają uruchamiania sesji. Sama obsługa ciasteczek nie potrzebuje
session_start() - cookies można ustawiać i czytać niezależnie (setcookie, $_COOKIE). Wczytywanie danych z plików zewnętrznych realizują funkcje plikowe (np. fopen czy file_get_contents), a nie sesje. Odebranie pojedynczego formularza odbywa się przez $_POST/$_GET w obrębie jednego żądania. Sesja jest potrzebna, gdy dane mają być pamiętane przy przechodzeniu między stronami, dlatego ta odpowiedź jest poprawna.