Salve,

in una pagina di login termino il codice con le seguenti righe
Codice PHP:
    $record mysql_fetch_array($result);

    if(!
$record) {
        
$messaggio urlencode('Nome utente o password errati');
        
header("location: $_SERVER[PHP_SELF]?msg=$messaggio");
    } else {
        
session_start();
        
$_SESSION['user_id'] = $record['id'];
        
header("location: pagina_protetta.php");
    }
}
?> 
In sostanza se sbaglio ad inserire nome utente e password mi appare un messaggio a video, se nome utente e password sono corretti, passo alla pagina "pagina_protetta.php"

pagina_protetta.php al momento è composta così
Codice PHP:
<?php
if(empty($_SESSION['user_id'])) {
die(
'accesso non consentito');
}
?>
Contenuto pagina protetta
non riesco a capire come mai quando inserisco il nome utente e password corretti e passo automaticamente a "pagina_protetta.php" invece di vederere il contenuto "Contenuto pagina protetta" vedo "accesso non consentito", dov'è l'errore?