PHP - Utilisation des sessions et Internet Explorer 6

  • Auteur de la discussion Auteur de la discussion gcvoiron
  • Date de début Date de début
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.
 
Hello,

il s'agit peut être d'un problème de P3P : dans certains cas IE n'enregistre pas les cookies sur redirections.
 
Merci de ta réponse Bool, mais j'ai essayé avec quelques header trouvés sur l'Internet, mais sans succès !
 
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
 
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 !
 
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.
 
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é).
 
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.
 
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 ;)
 
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.
 

➡️ Offre MyRankingMetrics ⬅️

pré-audit SEO gratuit avec RM Tech (+ avis d'expert)
coaching offert aux clients (avec Olivier Duffez ou Fabien Faceries)

Voir les détails ici

coaching SEO
Discussions similaires
Haut