Ciao a tutti!
Sto cercando di imparare un po' di php e mi sono subito scontrato con un problema. Ho la netta sensazione che si tratti di una banalità, ma viste le mie conoscenze (nulle) in programmazione non riesco a venirne a capo.
Vorrei realizzare (il condizionale è d'obbligo) una pagina in cui sono presenti 3 div contenenti include richiamati dinamicamente da 3 diversi 'case'. Per intenderci un link a questa pagina sarebbe qualcosa come "/main.php?page=01?middle=05?last=03" e il php ricomporrebbe la pagina invocando le rispettive pagine nei vari include, riportanto una generica pagina 404.php nel caso il valore di un 'case' non facesse capo ad alcun file esistente. In questo caso la pagina 01.php nel campo regolato da 'page', la 05.php nel div di 'middle' e così via.
Sono riuscito a realizzare questa cosa includendo 3 diversi switch esterni ma, volendo evitare di aggiornarli ogni volta, ho fatto ricorso ad un altro tipo di codice.
<?php
if (isset($_GET['page']))
{
if (is_file("include/".$_GET['page'].".php"))
{
require ("include/".$_GET['page'].".php");
}
else
{
require ('include/404.php');
}
}
else
{
require ('include/01undeclared.php');
}
?>
Per il div relativo a 'page'
<?php
if (isset($_GET['middle']))
{
if (is_file("include/".$_GET['middle'].".php"))
{
require ("include/".$_GET['middle'].".php");
}
else
{
require ('include/404.php');
}
}
else
{
require ('include/02undeclared.php');
}
?>
Per quello relativo a 'middle'
<?php
if (isset($_GET['last']))
{
if (is_file("include/".$_GET['last'].".php"))
{
require ("include/".$_GET['last'].".php");
}
else
{
require ('include/404.php');
}
}
else
{
require ('include/03undeclared.php');
}
?>
Per quello relativo a 'last'
In sostanza, se io richiamo main.php (il contenitore dei vari include) senza specificare nessun 'case' funziona tutto bene, nel senso che vengono invocati tutti gli include relativi al 'case' non specificato. Questo script funziona anche nel caso io richiami un solo tipo di case, tipo ad esempio main.php?middle=02 (in questo caso 02.php viene caricato con successo nel div relativo a 'middle' mentre gli altri 2 div riportano i php previsti per i rispettivi case non dichiarati).
Quando invece il link richiede due o più case il codice cessa di funzionare correttamente.
Avevo pensato di usare questo script per poter includere dei php da una cartella precisa invocando solo il nome file senza estensione e senza percorso, evitando al tempo stesso di dover aggiornare uno switch ogni volta che aggiungo una pagina.
Qualcuno sarebbe così gentile da fornirmi supporto?
posto l'url cui fa capo la mia pagina di prova e quello dell'archivio rar contenente i file incriminati.
sorta di switch
rar contenente i php
Vi ringrazio in anticipo!!!
Amedeo