Session PHP détruite / perdue après l'en-tête
J'ai un script qui définit certaines valeurs de session avant de la rediriger vers /
à l'aide de header()
.
J'ai lu de nombreux messages sur le $_SESSION
variable étant détruit, perdu après header()
même après que j'ai mis en œuvre cette:
//set session here
session_regenerate_id(true);
session_write_close();
header("Location: /");
session_start()
est défini dans les bons endroits, personne ne sait de quoi que ce soit que je pourrais être absent?
Sur le index.php la page j'ai ceci:
session_start();
print_r($_SESSION);
//outputs nothing :'(
Le code est assez complexe donc de ne pas poster tout ça, juste des extraits.
source d'informationauteur Ben Everard | 2010-01-10
Vous devez vous connecter pour publier un commentaire.
Je n'ai jamais vu une session de questions connexes en raison de l'utilisation de l'emplacement des en-têtes - êtes-vous sûr que vous êtes d'appel session_start sur les deux pages?
Hmm... cette réponse fait beaucoup plus de sens avant de vous ajouter le session_start bits ci-dessus, et a mentionné le fait que vous étiez sûr que vous étiez à l'aide de la fonction session_start. 🙂
en-tête doit être envoyé avant la session à proximité
mettre juste à la sortie; après-tête 😀 j'ai résolu en ce
Après l'en-Tête de redirection, vous devez quitter le script PHP:
Dans l'intérêt de la clôture de cette question, nous avons conclu que c'était un problème avec la configuration du serveur, pas surprenant compte tenu de l'hôte est bien connu pour ce genre de chose.
Vous n'avez pas besoin de démarrer la fonction session_start() dans chaque page. parce que, jusqu'à la fermeture de votre navigateur de la même session reste pour l'ensemble de la trajectoire que vous avez spécifié dans php.ini