Yo lo que hago normalmente es cargar todo a partir de index.php y en la medida de lo posible separo codigo de presentacion, mas bien accion de presentacion, donde tengo mis librerias de funciones php/js y luego una pagina muestra 'lo-que-sea' y el codigo puro, inserts, updates, ficheros...lo hago en un fichero diferente. Para cargar cada una de las paginas o formularios utilizo algo asi: #########index.php###############
<? session\_start(); include('lib/config.php'); include('lib/function.php'); include('header.php'); include(form($\_GET\['form'\])); include('footer.php'); ?>##############################
##########form()################
function form($id){
$id=filtrar($id);
if(is_numeric($id)){
$sel='select fichero from pagina where id='.$id;
$rs=mysql_query($sel);
if(mysql_num_rows($rs)==1){
$a=mysql_fetch_array($rs);
if(file_exists($a[0]))
return $a[0];
else
return 'principal.php';
}else{
return 'principal.php';
}
}
return 'principal.php';
}
#####################################
Estos codigos son lo que estoy utilizando en mi ultima pagina (llevaba un tiempo sin programar), pero siempre utilizo algo por el estilo, recojo el nombre del fichero de bbdd a partir de un id, hago alguna comprobacion, y lo cargo. Si no se cumple alguna condicion cargo 'principal.php'. El header.php es codigo estatico basicamente, y el footer.php mas de lo mismo, simple maquetacion. Un saludo