PHP - Utilisation des sessions et Internet Explorer 6

WRInaute occasionnel
Bonsoir,

Je viens vous faire part d'un problème que je n'ai pas réussi à résoudre. Lors de l'utilisation de sessions avec le navigateur Internet Explorer 6, mes sessions se perdent d'une page à l'autre.
Exemple tout bête :

page1.php
Code:
<?php
session_start();
$_SESSION['abc'] = 12345;
header("Location:page2.php");
?>

page2.php
Code:
<?php
session_start();
echo $_SESSION['abc'];
?>

Avec IE7 et Firefox, à l'appel de page1.php, PHP met en session "12345", redirige vers page2.php qui affiche "12345".

Et avec IE6, la page2 n'affiche rien....

Quelqu'un aurait trouvé une alternative à ce problème ?

Merci d'avance, Guillaume.
 
WRInaute passionné
Hello,

il s'agit peut être d'un problème de P3P : dans certains cas IE n'enregistre pas les cookies sur redirections.
 
WRInaute occasionnel
Merci de ta réponse Bool, mais j'ai essayé avec quelques header trouvés sur l'Internet, mais sans succès !
 
WRInaute accro
Je n'ai pas ce problème avec IE6 mais avant j'initialise ma session.

Code:
ini_set('session.auto_start','0'); // session, tu ne démarreras que quand je demanderais 
ini_set('session.use_cookies','1'); // plutôt avec des cookies 
ini_set('session.use_only_cookies','0'); // pas forcément avec des cookies 
ini_set('session.name','OKSES'); // c'est mon identifiant de sesion
 
WRInaute occasionnel
Merci pour ton aide KOogar, j'ai essayé avec ceci :

page1.php
Code:
<?php
ini_set('session.auto_start','0');			// session, tu ne démarreras que quand je demanderais
ini_set('session.use_cookies','1');			// plutôt avec des cookies
ini_set('session.use_only_cookies','0');	// pas forcément avec des cookies
ini_set('session.name','OKSES');			// c'est mon identifiant de sesion
session_start();
$_SESSION['session'] = 12345;
header("Location:page2.php");
?>

page2.php
Code:
<?php
ini_set('session.auto_start','0');			// session, tu ne démarreras que quand je demanderais
ini_set('session.use_cookies','1');			// plutôt avec des cookies
ini_set('session.use_only_cookies','0');	// pas forcément avec des cookies
ini_set('session.name','OKSES');			// c'est mon identifiant de sesion
session_start();
echo $_SESSION['session'];
?>

Le problème persiste avec IE6 !
 
WRInaute passionné
Note : session.auto_start n'est pas modifiable en cours de script, puisqu'une fois le script démarré il est déjà trop tard.
 
WRInaute accro
Bool a dit:
Note : session.auto_start n'est pas modifiable en cours de script, puisqu'une fois le script démarré il est déjà trop tard.

heing ?

session.auto_start -->
Spécifie si le module de session doit démarrer automatiquement au début de chaque script PHP. Par défaut, c'est 0 (désactivé).
 
WRInaute passionné
Oui koogar : "démarrer automatiquement au début de chaque script". Donc quand toi tu fais ton ini_set('session.auto_start','0');, il y a deux cas de figure : soit l'auto_start était déjà à off et dans ce cas ton instruction ne sert à rien. Soit l'auto_start était à on et donc la session est déjà initialisée... si bien que l'ensemble de tes instructions sont pour le coup inutiles.
 
WRInaute accro
je plussoie et je comprend mieux pourquoi tu avais fait tilt !!

De toute facon le problème ne vient pas de la, pour moi c'est soit IE qui est mal installé, soit IE n'est pas à jour ou il est vérolé... mais ce n'est pas un problème de script php -> voir coté microsoft ;)
 
WRInaute occasionnel
KOogar a dit:
je plussoie et je comprend mieux pourquoi tu avais fait tilt !!

De toute facon le problème ne vient pas de la, pour moi c'est soit IE qui est mal installé, soit IE n'est pas à jour ou il est vérolé... mais ce n'est pas un problème de script php -> voir coté microsoft ;)
En fait j'avais une install "bidouillée" de IE6, pour faire tourner IE6 et IE7 sur le même PC... et le problème venait de là !

Merci à tous pour vos réponses.
 
Discussions similaires
Haut