Bonjour,

Je possède une page haut.php dans laquelle se trouve deux includes:

La première invoque theme1.php qui définit la variable de session theme, qui est un tableau.
La deuxième invoque defaut.php qui récupère cette variable theme et modifie le code css en fonction de celle-ci.

Le problème est que defaut.php ne trouve pas la variable et me sort cette erreur:
Notice: Undefined index: theme in /var/www/html/Ressources/Styles/defaut.php on line 21
Je tiens à préciser que je suis en local.

Voici les codes:

haut.php: (Raccourcis)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
<?php
include("var.php"); // Contient la variable $info qui sont les données utilisateur provenant de la bdd
session_start();
include("http://192.168.1.56/Projet_Humanist_Weight/Ressources/Styles/Themes/" . $info["theme"] . ".php");
include("http://192.168.1.56/Projet_Humanist_Weight/Ressources/Styles/defaut.php");
?>
theme1.php:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
<?php
session_start();
$fond = "#FCFCFC";
 
$theme = array($fond, "test");
$_SESSION["theme"] = $theme;
?>
defaut.php:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
<?php
session_start();
global $fond;
?>
<style type="text/css">
Code css
</style>
J'ai essayé avec une variable "simple" et j'ai toujours la même erreur.

Mon but est de réussir à transmettre (par variable simple ou session) le tableau généré par theme1.php à defaut.php afin qu'il puisse modifier le css en fonction du thème sélectionné par l'utilisateur.

Si vous avez besoin du code entier de haut.php, n'hésitez pas à demander.

Merci d'avance.

EDIT: En cherchant, je suis tombé sur ceci .
Si j'ai bien compris, ils indiquent que deux includes ne peuvent pas se communiquer entre eux car les deux pages sont générées séparement.
Effectivement, si je fais un echo de la variable de session "theme" après les includes, dans le fichier haut.php, j'obtiens mon résultat.

EDIT2: J'ai trouvé la solution: Pour communiquer avec une include, il faut que le chemin de celle-ci ne soit pas direct (Je le savais déjà, mais ça ne m'est pas revenu à l'esprit ).