J'ai un système basé sur le Web construit avec des données de connexion utilisateur basées sur des variables de session. Parfois, lorsqu'un utilisateur est connecté et tente d'exporter des tables vers csv ou xls, les données de session semblent s'effacer et l'utilisateur est expulsé du système.Lorsque j'exporte des fichiers avec php/html, mes données de session sont réinitialisées
Ceci est le code d'en-tête que j'utilise pour servir le fichier.
header("Pragma: public");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Content-Type: application/force-download");
header("Content-Type: application/octet-stream");
header("Content-Type: application/download");
header("Content-Disposition: attachment;filename=file.xls");
header("Content-Transfer-Encoding: binary ");
Si cela aide, il semble être plus répandue sur ie6. Je me demandais si quelqu'un avait eu des problèmes similaires.
Ceci est le dernier en-tête que j'ai essayé. Toujours pas de chance. Également testé la même procédure dans FF/Opera/Safari et ils vont bien.
header('Cache-Control: no-store, private, no-cache, must-revalidate'); // HTTP/1.1
header('Cache-Control: pre-check=0, post-check=0, max-age=0, max-stale = 0', false); // HTTP/1.1
header('Expires: Sat, 26 Jul 1997 05:00:00 GMT'); // Date in the past
header('Expires: 0', false);
header('Last-Modified: '.gmdate('D, d M Y H:i:s') . ' GMT');
header('Pragma: no-cache');
header("Content-Type: application/vnd.ms-excel");
header("Content-Disposition: attachment;filename=$fileName");
header("Content-Transfer-Encoding: binary ");
l'en-tête expires devrait être dans ce format (oui GMT): Expire: Thu, 01 Dec 1994 16:00:00 GMT – OIS