Mammouth du PHP |
505 Messages
04 juin 2007, 11:52
Tu te trompes certainement qq part.
Si tu est dans le script principale hors de toute fonction,
cat main.php
<?php
$id = 12; // La variable $id est global et disponible partout en global, y compris dans les includes
include('toto.php');
cat toto.php
<?php
var_dump($id); // Fonctionne et voie bien $id
function toto () {
var_dump($id); // ne voie pas $id car on est dans une fonction, si tu veux voir $id ici 2 solutions
var_dump($GLOBALS['id']); // Solution 1 : on accede à la super global $GLOBAL
global $id;
var_dump($id); // Voie $id car elle a été définie comme une var globale à la ligne précédente
}
Si tu fais ta définition ainsi que l'include dans une fonction ,
cat main.php
<?php
function bingo() {
$id = 12; // La variable $id est local
include('toto.php');
}
cat toto.php
<?php
var_dump($id); // Fonctionne car on est dans le meme scope que la fonction bingo()
function toto () {
// Impossible d'acceder ici a $id, $id est une var local a la fonction bingo()
}