piu' sicura, piu' veloce, meno limiti
codice:
$p = 'main';
if( isset( $_GET['page'] ) == true && $_GET['page'] != $p ) {
$p = &basename( $_GET['page'] );
if( file_exists( $p.'.php' ) == false )
$p = 'error';
}
include($p.'.php');
oppure, come e' mia abitudine fare, con path per la sottodirectory ( trovo piu' comodo racchiudere le sezioni in una cartella a parte per non rendere disordinato l' ftp in apertura root )
codice:
$sectionFolder = 'sections/';
$p = 'main';
if( isset( $_GET['page'] ) == true && $_GET['page'] != $p ) {
$p = &basename( $_GET['page'] );
if( file_exists( $sectionFolder.$p.'.php' ) == false )
$p = 'error';
}
include($sectionFolder.$p.'.php');
oppure, prendendo come esempio la struttura in sottocartella e valutando l' opzione sezione in array [ dinamica,senza creare l' array a mano ] ...
codice:
$sectionFolder = 'sections/';
if( $handle = &opendir( $sectionFolder ) ) {
$sections = Array();
while( false !== ( $file = &readdir( $handle ) ) ) {
if( array_pop( explode( '.', $file ) ) == 'php' ) {
array_push( $sections, substr( $file, 0, -4 ) );
}
}
if( isset( $_GET['page'] ) == false || $_GET['page'] == 'main' ) {
$_GET['page'] = 'main';
}
elseif( in_Array( $_GET['page'], $sections ) == false ) {
$_GET['page'] = 'error';
}
include($sectionFolder.$_GET['page'].'.php');
}