Ho definito delle COSTANTI per le sezioni e le sottosezioni di un menu, ma pur riuscendo a collegare le varie pagine alle prime, per le COSTANTI delle sottosezioni... ho perso tutte le speranze :berto:


Questo è il file "menu.inc" dove definisco le costanti e creo l'array per il menu:

Codice PHP:
// Costanti per le sezioni principali
define("SECTION_HOME"0);
define("SECTION_ALBERI"10);
define("SECTION_FIORI"20);

// Costanti per le sottosezioni
define("SECTION_ALBERI_ABETE"11);
define("SECTION_ALBERI_PINO"12);
define("SECTION_FIORI_MARGHERITA"21);
define("SECTION_FIORI_ROSA"22);

// Array che contiene il menu
$site_menu = array(
  
=> array(
    
"nome" => "HOME"// Nome della sezione
    
"code" => SECTION_HOME// Codice della sezione, usa una costante pre definita
    
"submenu" => NULL // Array con le sottosezioni della voce principale
  
),

  
=> array(
    
"nome" => "ALBERI"
    
"code" => SECTION_ALBERI
    
"submenu" => array( // Il sottomenu di sezione
        
=> array (
              
"nome" => "ABETE",
              
"code" => SECTION_ALBERI_ABETE
        ),
        
=> array (
              
"nome" => "PINO",
              
"code" => SECTION_ALBERI_PINO,
        ),
        
    ) 
// chiude il sottomenu sezione SECTION_ALBERI
  
),
  
  
  
=> array(
    
"nome" => "FIORI"
    
"code" => SECTION_FIORI
    
"submenu" => array( // Il sottomenu di sezione
        
=> array (
              
"nome" => "MARGHERITA",
              
"code" => SECTION_FIORI_MARGHERITA,
        ),
        
=> array (
              
"nome" => "ROSA",
              
"code" => SECTION_FIORI_ROSA,
        )
    ) 
// chiude il sottomenu sezione SECTION_FIORI
  
), 


Questo è il file "index.php" dove cerco di collegare dei file esterni alle varie COSTANTI:

Codice PHP:
/ Include le definizioni dei menu
include_once("menu.inc");

/*
  Controlla se dall'esterno arrivi una richiesta di una sezione particolare.
  Se non e' stata richiesta nessuna sezione in particolare, imposta la sezione
  corrente pari a SECTION_HOME
*/
if (!isset($_REQUEST['section'])) $section SECTION_HOME;
else 
$section $_REQUEST['section'];

// Include la testata
include("header.inc");

// Stampa il menu
echo "<table width=\"800\" cellspacing=\"0\" width=\"800\" cellpadding=\"0\" border=\"1\" style=\"border-collapse: collapse;\">\n";
echo 
"<tr>";
reset($site_menu); $cspan=1;
foreach(
$site_menu as $menu) {
    if (
$section == $menu['code'])  { 
      echo 
"<td class=\"sel-tab\">{$menu['nome']}</td>\n";
      if (
is_array($menu['submenu'])) { // costruisce la stringa del submenu
          
reset($menu['submenu']);
          
$submenu = array();
          foreach(
$menu['submenu'] as $sm$submenu[] = "<a href=\"index.php?section={$menu['code']}&option={$sm['code']}\" class=\"submenu\">{$sm['nome']}</a>";
      }
    }
    else echo 
"<td class=\"tab\"><a class=\"menu\" href=\"index.php?section={$menu['code']}\">{$menu['nome']}</a></td>\n";
    
$cspan++;
}
echo 
"<td class=\"empty-tab\"></td>\n</tr>\n";
echo 
"<tr><td colspan=\"$cspan\" class=\"menubar\">";
if (isset(
$submenu)) echo implode("::"$submenu);
echo 
"</td></tr>\n";
echo 
"</table>\n";

// chiude una riga del corpo del documento
echo "\t</td>\n";
echo 
"</tr>";

// Stampa i messaggi specifici della sezione scelta
echo "<tr valign=\"top\">\n\t<td height=\"200\" bgcolor=\"#ff0000\">\n";
// Agisce a seconda della sezione scelta
switch($section) {
  case 
"":
  case 
SECTION_HOME: include("home.inc"); break;
  case 
SECTION_ALBERI: include("alberi.inc"); break;
  case 
SECTION_ALBERI_ABETE: include("alberi_abete.inc"); break;
  case 
SECTION_ALBERI_PINO: include("alberi_pino"); break;
  case 
SECTION_FIORI: include("fiori.inc"); break;
  case 
SECTION_FIORI_MARGHERITA: include("fiori_margherita.inc"); break;
  case 
SECTION_FIORI_ROSA: include("fiori_rosa.inc"); break;
  default: echo 
"Nessuna scelta disponibile";
}
echo 
"\t</td>\n</tr>\n";
// Include il piede pagina
include("footer.inc"); 

Ringrazio tutti anticipatamente.