Se il login non va richiesto per ogni pagina dovrai utilizzare le sessioni PHP (Tramite Cookie e memorizzano vari dati in un file) quello espresso tra parentesi è il comportamento originale ma poi esistono eccezioni per esempio invece del cookie (php inserisce automaticamente) un id tramite url e invece di memorizzare su file si può scegliere database.
Tutto questo poiché il protocollo http è privo di memoria.
Inoltre si considera "sessione valida" solo chi è attivo fino a tot di tempo altrimenti è dormiente o non valido etc (il parametro uscita identifica solo la volontà del logout ma non è unico a decretare la fine della sessione).
Prima di produrre qualsiasi output
Codice PHP:
<?php session_start();
//commento php e questo markup html<html> ma non produce output poiché i commenti php aiutano la lettura quando leggi il codice
?>
<?php ?> in precedenza ho chiuso lo script php, dopo tale chiusura è output
come vedi direttamente dal codice non esiste output markup html e nemmeno caratteri precedenti il <?php