Include et global -- comportement étrange -- [PHP][résolu] - PHP - Programmation
Marsh Posté le 09-04-2008 à 12:26:25
Je dirais (sans certitude absolue) que comme t'inclus include2.php dans une fonction (en l'occurence insertScript), tes variables $a et $b prennent pas la portée "global" mais la portée de celle-ci, et donc le mot-clé "global" ne fonctionne pas.
Marsh Posté le 10-04-2008 à 08:39:54
Oui je pense que c'est lié mais je ne comprends pas pourquoi
par contre j'aimerai bien savoir comment faire !
(sans sacrifier ma fonction qui fait l' include et la fonction dans le script inclus..)
Marsh Posté le 10-04-2008 à 09:21:11
normal, un peu de lecture : http://fr.php.net/global
plusieurs solutions, soit avec global ou $GLOBALS, par exemple au début de ton fichier include2.php tu ajoutes tout simplement :
Code : |
Marsh Posté le 10-04-2008 à 09:35:07
soju>
Merci impecable ça fonctionne !
je vais allez lire ton lien
par contre j'utilise include surtout pour inclure dans ma page le contenu de la page à inclure, et pas vraiment pour récupérer les fonctions et variables ..
Il n'y a pas d'autre moyen pour faire cela si ?
Encore Merci.
Kytrix
Marsh Posté le 09-04-2008 à 12:17:57
Bonjour,
j'ai un truc assez bizzare : une portée globale de variable qui ne passe plus:
j'ai fait un petit exemple pour que ce soit plus simple :
fichier index.php
fichier include1.php:
fichier include2.php:
et voila ce que j'obtiens:
fichier include 2:
a+b = 0
fichier include 1:
c+d = 3
peut etre que je m'y prend mal, mon but quand je fait un include c'est d'executer le script php que j'apelle (mais pas forcément d'inclure les fonctions...)
ensuite la fonction insertScript() me permet d'alléger mon code et de mettre l'include dans un div .. ect..
voila si quelqu'un a une explication, ou une solution pour faire la meme chose.
Merci
edit: solution sugérée par soju:
mettre au début de mon fichier include2.php:
Message édité par Kytrix le 10-04-2008 à 10:00:10