sezioni sito web

Quando si realizza un sito dinamico (ma non solo) è buona norma dedicare un file per ogni sezione dello stesso. Nell’immagine sopra ho evidenziato le sezioni (che troverete sempre in qualsiasi sito 😉 ) header, menubar, sidebar, content e footer che includeremo nei files php header.php, menubar.php, sidebar.php, content.php e footer.php.

Perchè orientarsi verso questa metodologia? Per “modulare” il più possibile il sito diminuendo notevolmente i tempi per future modifiche e/o aggiornamenti. Per fare un esempio, avendo un sito con molte pagine ci troveremo un bel giorno ad aggiungere la voce “foto” al menu di navigazione poichè un nostro ipotetico cliente vuole dedicare una pagina alle foto del suo account flickr.

Trattandosi di un sito suddiviso, invece di modificare il menu in ogni pagina (facendo un lavoraccio duro e noioso se le pagine del sito sono molte) apriremo il file menubar.php e aggiungeremo il nuovo link/pulsante solo in questo file.

Aggiornamento terminato in quanto il file menubar.php è  incluso dinamicamente in ogni pagina del sito web.

Per inserire un file esterno in una pagina web si possono usare i comandi include o require. La sintassi è la seguente:

<?php include(“menubar.php”); ?>

<?php require(“menubar.php”); ?>

La differenza tra le due istruzioni è che in caso di errore, ad esempio il nome del file è sbagliato, l’istruzione include genera un warning che non blocca l’esecuzione della pagina mentre require genera un errore che blocca l’esecuzione.

Un errore comune è quello di includere più volte lo stesso file causando danni come il nuovo settaggio di variabili tanto per fare un esempio. Questo problema si può evitare utilizzando la seguente sintassi:

<?php include_once(“menubar.php”); ?>

<?php require_once(“menubar.php”); ?>

Queste istruzioni evitano che il file venga nuovamente incluso in caso di distrazione.

Per motivi di sicurezza è buona norma non includere dinamicamente file via GET o POST. Immaginate il cracker di turno che include una sua pagina con codice “malevolo” :roll:

E’ possibile sicuramente effettuare alcuni controlli per prevenire una situazione del genere ma un include statico del tipo <?php include(“pagina.php”); ?> non causerà alcuna vulnerabilità.

NO SPAM. Non fornirò la tua email a terzi e riceverai solo contenuti che ti interessano sugli argomenti che tratto e potrai cancellarti quando vuoi con un link che trovi in tutte le email.