Dlaczego tak
Funkcja session_start() uruchamia lub wznawia sesję i wypełnia tablicę $_SESSION, a wartości do niej zapisane serwer przechowa i udostępni na kolejnych stronach. Przypisanie przed session_start() zostanie nadpisane danymi wczytanymi z sesji. Wpis do $_COOKIE zmienia tylko tablicę w bieżącym skrypcie — ciasteczko wysyła setcookie() — a session_destroy() usuwa dane sesji.