nlc Le mieux est l'ennemi du bien | Bonjour à tous, j'ai un petit souci et je ne trouve pas de solution pour le résoudre
J'ai un fichier index.php qui sert de point de départ à mon site.
Dedans je fais quelques bricoles (gestion de la session, etc...) et j'inclue un fichier template.php qui contient la structure html de mon site. Dans ce fichier template.php, j'appelle 2 fonctions, à savoir printMenu() et printPageContent(), qui sont définies dans le index.php.
Le printMenu m'affiche mon menu (avec plus ou moins d'item en fonction du niveau d'accès), et le printPageContent() m'affiche le contenu de la page.
En fait la fonction printPageContent() fait un include du fichier php correspondant au menu qui a été cliqué.
Tout ça marchait très bien jusqu'à ce que dans une des pages j'ai besoin d'accéder à une variable globale depuis une fonction.
J'ai réussi à simuler le souci pour vous montrer le problème :
Fichier index.php :
Code :
- <?php
- function printPageContent ( )
- { include("page1.php";);
- }
- printPageContent();
- ?>
|
Fichier page1.php :
Code :
- <?php
- $essai = "coucou !";
- function printResultTable()
- { global $essai;
- echo $essai;
- }
- printResultTable();
- ?>
|
Si je charge directement la page page1.php dans le navigateur, "coucou !" s'affiche correctement, c'est bon.
Mais si je charge la page index.php, qui a son tour charge page1.php, là "coucou !" ne s'affiche pas !!!
Visiblement c'est à cause du fait que dans index.php l'inclusion de page1.php se fait dans une fonction, car si je fais :
Fichier index.php :
Code :
- <?php
- include("page1.php";);
- ?>
|
Là ça marche
Comment faire pour résoudre mon souci, une idée ? Message édité par nlc le 16-04-2009 à 17:07:09 ---------------
char table[] = {112,114,105,110,116,102,40,34,37,99,37,99,37,99,34,44,49,49,48,44,49,48,56,44,57,57,41,59,0}; char* tablePtr = table; while(*tablePtr) printf( "%c",*tablePtr++ );
|