Page 1 sur 1

include/require e t variables

Posté : 19 avr. 2010, 18:27
par henri_b
Bonjour,

j'essaie de faire quelque chose qui me paraissait a priori simple, mais que je n'arrive pas a faire marcher.
en gro, j'ai 3 fichiers php :
- var.php qui contient des variables, par exemple $site_titre="toto";
- fonctions.php qui contient des fonctions, par exemple :
function OB_test(){
return $site_titre;
}
- un fichier principal, qui en gro contient :
include 'var.php';
include 'fonctions.php';

puis echo OB_test();

et bien ca ne marche pas... les variables définis dans var.php sont accessibles dans le fichier principal, mais pas dans le fichier fonctions. c'est a dire que les fonctions qui les utilisent semblent ne pas les connaitre. la par exemple :
echo OB_test();
affiche rien... et non toto;

j'ai essayé de changer les include, include_once, require, require_once, etc... idem
j'ai directement mis un echo d'une variable dans le fichier fonctions.php et idem, affiche rien. (les fonctions sont accessibles et fonctionnent à part ça).

où est ce que je me plante ?

ps : je suis sous php5 sur serveur linux

Re: include/require e t variables

Posté : 19 avr. 2010, 18:33
par devlop78
--> Portée des variables

$mavar = "toto";

function titou () {
global $mavar;
echo $mavar;
}

titou();

ou

function titou($var) {
echo $var;
}

titou($mavar);

ou (mais c'est un piège ^^)

function titou() {

include 'vars.php';
echo $mavar;
}

Re: include/require e t variables

Posté : 19 avr. 2010, 18:39
par henri_b
oui j'ai oublié de préciser que j'ai utilisé le tableau $_GLOBALS["site_titre"] dans les fonctions et que ca ne donne rien non plus...

Re: include/require e t variables

Posté : 19 avr. 2010, 18:41
par henri_b
ah :
global $mavar;
echo $mavar;

marche, mais pas :
echo $_GLOBALS["site_titre"]

pourquoi ?
merci en tous cas

Re: include/require e t variables

Posté : 19 avr. 2010, 18:50
par devlop78
parce que c'est $GLOBALS pas $_GLOBALS. Ca peut paraitre bizarre mais $GLOBALS ne fonctionne pas comme les autres super globales. D'où peut-être cette différence ...

Re: include/require e t variables

Posté : 19 avr. 2010, 18:52
par henri_b
oui je viens de m'apercevoir de mon erreur. merci, probleme reglé.