Ric
Invité n'ayant pas de compte PHPfrance
31 août 2005, 17:00
Bonjour,
J'ai un problème avec la variable $_SESSION depuis un moement, et je n'arrive pas a le resoudre ... tout se passe correctement avec le browser FireFox, mais le script ne fonctionne pas avec IE!
Je récapitule:
* sur une page login.php3 j'authentifie l'utilisateur, puis j'enregistre son pseudo dans $_SESSION['id']=$pseudo (avec session_start() en tout debut de fichier)
* en fin de fichier, je redirige vers ma page d'index : header("location:$url")
* sur ma page d'index, je vérifie que l'utilisateur s'est identifié avec if(isset($_SESSION['id'])) , sinon, je renvoi vers ma page de saisi de pseudo/passwd
Rien n'y fait! je retombe toujours sur ma page de saisi avec Internet Explorer, alors qu'il n'y a aucun soucis avec Firefox!
J'ai fait un test avec le scipt suivant :
*****
<?php
// page1.php
session_start();
echo 'Bienvenue à la page numéro 1';
$_SESSION['favcolor'] = 'vert';
$_SESSION['animal'] = 'chat';
$_SESSION['time'] = time();
// Fonctionne si le cookie a été accepté
echo '<br /><a href="page2.php3">page 2</a>';
// Ou bien, en indiquant explicitement l'identfiant de session
echo '<br /><a href="page2.php3?' . SID . '">page 2</a>';
?>
*****
<?php
// page2.php
session_start();
echo 'Bienvenue sur la page numéro 2<br />';
echo $_SESSION['favcolor']; // vert
echo $_SESSION['animal']; // chat
echo date('Y m d H:i:s', $_SESSION['time']);
// Vous pourriez utiliser la constante SID ici, tout comme dans la page page1.php
echo '<br /><a href="page1.php">page 1</a>';
?>
*****
Voici le resultat avec IE:
* en cliquant sur le lien 'page2' via <a href="page2.php3">page 2</a>:
"Bienvenue sur la page numéro 2
1970 01 01 01:00:00"
* en cliquant sur le lien via <a href="page2.php3?' . SID . '">page 2</a>
"Bienvenue sur la page numéro 2
vertchat2005 08 31 09:06:28"
-------------------------------
J'ai besoin d'avoir constament $_SESSION['id'], puisque selon l'identifiant, je n'affiche pas la même chose
Ce que je ne pige pas c'est que IE n'accepte pas le cookie, quel que soit son niveau de confidentialité ...
Je ne veux pas passer le SID a chaque page, et je voudrais surtout comprendre ce que je ne fais pas bien. Je suis desespéré je n'arrete pas de chercher l'explication de ce mystère, mais je ne trouve pas.
J'espère que vous pourrez m'aider, qu'il ne s'agit que d'une erreur 'bateau'
, rapidement corrigée, que le débutant que je suis n'a pas vu!
merci d'avance pour votre aide