Bonjour,

j'ai un comportement bizarre lors de l'utilisation d'une session dans laquelle je place un tableau de valeur... Je m'explique :

Ma page appelé effectue le code suivant : (je passe les parties ininteressantes)

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
session_start();
 
// Supprime la variable de session tab_erreur si elle existe
if(isset($_SESSION["tab_erreur"])) { unset($_SESSION["tab_erreur"]); }
 
[...]
 
$tab_erreur = array();
$tab_erreur["type"] = "SERVEUR_INEXISTANT_CMDB";
$tab_erreur["message"] = "Le serveur ".$str_serveur." n'existe plus en cmdb. Vous ne pouvez donc plus faire de demandes de supervision sur celui-ci.";
$tab_erreur["url_retour"] = VERS_ACCUEIL;
$_SESSION["tab_erreur"] = $tab_erreur;
 
//echo print_r($_SESSION);die;
 
// rediriger vers erreur.php
header('Location: ' . VERS_ERREUR);
Si je décommente le print_r($_SESSION); les valeurs sont les bonnes.

Ma page erreur.php qui est appelée est la suivante :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
session_start();
 
// Récupération des variables de session
$tab_erreur = $_SESSION["tab_erreur"];
$str_type_erreur = $tab_erreur["type"];
$str_message_erreur = $tab_erreur["message"];
$str_url_retour = $tab_erreur["url_retour"];
 
echo print_r($_SESSION);die;
Et là, l'execution de ce print_r($_SESSION); ne me retourne pas les bonnes valeurs pour le tableau tab_erreur.
Il me retourne d'autres valeurs que j'ai du avoir lors d'une erreur précédente lors de tests sur d'autres parties de mon application.

Quelqu'un voit-il d'où vient le problème ?!

Merci d'avance.
Bizoo