Newsgroup: it.comp.www.php
Titolo: Come conviene strutturare un sito?

Dovendo costruire un sito, quale delle seguenti soluzioni è la
migliore?
1) Creare una pagina index.php nella quale sono presenti gli elementi
fissi di ogni pagina (header, menu, footer, ecc.) e visualizzare il
contenuto effettivo includendo un'altra pagina php in base a una
variabile passata tramite $_GET
Es. index.php?page=home
// Header
// Menu
$page = $_GET['page'] + ".php";
include($page);
// Footer
2) Includere in ogni pagina gli elementi fissi
Es. home.php
include("header.inc.php");
include("menu.inc.php");
// Contenuto pagina
include("footer.inc.php");
Io sarei per la seconda strada (più per abitudine che altro), ma
vorrei sapere quali sono i pro e i contro delle due soluzioni. Nel mio
caso specifico si tratterebbe di un'area amministrativa ad accesso
riservato per la gestione dei contenuti del sito.

 $page = $_GET['page'] + ".php";
 > include($page);
sicuramente questa è da scartare in quanto cosi facendo potresti far 
includere qualunque pagina ..
Per il resto io uso il tuo secondo metodo, cioè includo nella index ogni 
singolo elemento ma prima di ogni pagina una pagina in cui eseguo tutti 
i processi che devono essere effettuati prima di visualizzare il tutto, 
tipo inserimento in db e cacchi vari ;)
Non penso che i 2 approcci siano tanto diversi in quanto una volta 
inclusa la pagina è come se avresti scritto il codice relativo nella tua 
index .. anzi ti dirò preferisco il secondo in quanto se in una pagina 
non devo visualizzare l'header basta non includerla con conseguente 
velocità di visualizzazione (minima) ma pur sempre veloce ;)
-- 
SEZIONE DIVERTIMENTO & AFFINI: "Qual è il poliziotto più sfortunato? 
Quello che muore al posto di  blocco. E quello più fortunato? Blocco!"
[CapoBecchino] - hotmail/msn: capobecchino [@] hotmail [.] com

 inserimento in db e cacchi vari ;)
Io ho trovato la pace dei sensi usando un file .html con dentro il template 
in html. Dove andrebbe il testo metto il nome di una variabile (es: $body).
Nel codice php per inserire il testo riempio appunto tali variabili 
(direttamente o tramite fuznioni costruite apposta) e alla fine con fopen 
echo ed eval stampo il tutto. Devo dire che non mi ha mai dato problemi. 
Forse potrebbe darne con moltissime (finora l'ho testato con un centinaio) 
connessioni contemporanee, ma si può star sicuri con un controllo di accesso 
al file .html.
E' molto comodo!
ciao,
Luca(riello) 

 riservato per la gestione dei contenuti del sito.
La prima strada presenta un buco di sicurezza, da evitare.
La seconda strada ti permette di fare solo siti semplici e mal inicizzabili
(per via di parametri passati via URL).
Ci sono molti altri modi, come per esempio utilizzare un template engine
(
http://smarty.php.net/
) oppure un framework, oppure un CMS, oppure crearsi
una piccola struttura ad oggetti, utilizzare un database o riscrivere gli
URL...
Probabilmente, per un'area amministrativa, è meglio utilizzare un framework
o, al limite, un CMS.
Byez!
-- 
By Davide "Design" Muzzarelli


Eh no, aspetta! La prima strada presenta un buco nel modo in cui è
stata formulata. Se si controlla la richiesta tramite uno switch allora
non ci dovrebbero essere problemi.

 non ci dovrebbero essere problemi.
Certo, modificandola, ma quella pubblicata è comunque bucata.


o, al limite, un CMS.
Non sono d'accordo: per un'area amministrativa monolingua va benissimo
una serie di include.
Francesco Mazzi
Webmaster di AltroPC.it - 
http://www.altropc.it
 
Staff di E-Xoopport - 
http://www.e-xoopport.it