PHP: session n'est pas l'enregistrement avant de l'en-tête de redirection

J'ai lu attentivement le manuel php pour ce problème et il semble tout à fait une question commune mais je n'ai pas encore trouver une solution. Je suis sauvegarder les sessions dans une base de données.
Mon code est comme suit:

//session
$_SESSION['userID'] = $user->id;        
header('Location: /subdirectory/index.php');

Puis, au sommet de index.php après la session_start(), j'ai var_dumped $_SESSION mondiale et le nom d'utilisateur n'est pas là. Comme je l'ai dit ive a regardé à travers le manuel PHP (http://php.net/manual/en/function.session-write-close.php) et ni session_write_close ou session_regenerate_id(true) a fonctionné pour moi.
Quelqu'un sait-elle une solution?

Edit: j'ai session_start() en haut de mon fichier. Quand je var_dump la session mondial avant le header de redirection, je vois le nom d'utilisateur, mais pas dans l'autre fichier, qui est dans un sous-répertoire de ce script

Êtes-vous session_starting() où vous faire la redirection?
et êtes-vous sûr que $user->id est réglé?
Salut, merci de voir le commentaire que j'ai laissé pour @ahmet2106 post
qu'est-ce que register_globals état?

OriginalL'auteur phpNutt | 2010-06-03