Il tutto è giustissimo.
Mi permetto soltanto di "migliorare" ulteriormente la questione (anche soltanto per imparare, magari non implementandolo mai: trovare un utente che non vuole la pappa pronta non capita più molto spesso).
La "soluzione" che propongo è questa: creare un file html unico (es. un template vuoto) e cambiare solo il contenuto a seconda della pagina da visualizzare. Mi spiego meglio: prendiamo come riferimento il sorgente attuale di oroitaliano:
Codice HTML:
<head>
<meta http-equiv=”Content-Type” content=”text/html; charset=iso-8859-1?>
<title>Oro Italiano - Strenne Natalizie</title>
<style type="text/css">
body {
margin: 0 auto;
width:1000px
}
#logo{
float: center;
width: 1000px;
}
#menu{
float: left;
width: 200px;
}
#contenuti{
float: right;
width: 800px;
}
</style>
</head>
<body>
<body bgcolor="black">
<div id="boxbig">
<div id="logo">
<p align"center"><img src="http://oroitaliano.altervista.org/immagini/headlogo.jpg"></p>
</div>
<div id="menu">
<br><br><br>
<a href="http://oroitaliano.altervista.org/informazioni.html" target="contenuti"><img src="http://oroitaliano.altervista.org/immagini/bottoneinformazioni.jpg"></a>
<br>
<a href="http://oroitaliano.altervista.org/prodotti.html" target="contenuti"><img src="http://oroitaliano.altervista.org/immagini/bottonelistaprodotti.jpg"></a>
<br>
<img src="http://oroitaliano.altervista.org/immagini/bottonefaiiltuoordine.jpg">
<br>
<img src="http://oroitaliano.altervista.org/immagini/bottonecontattaci.jpg">
</div>
<div id="contenuti">
<iframe
src="http://oroitaliano.altervista.org/immagini/infoprimapagina.jpg"
name="contenuti"
width="800"
height="400"
marginwidth="0"
marginheight="0"
scrolling="auto"
frameborder="0"></iframe>
</div>
</div>
</body>
</html>
Attualmente, ogni pagina contiene lo stesso identico codice, e varia soltanto la parte del contenuto. Quindi si può sfruttare questa cosa in questo modo:
Codice PHP:
<head>
<meta http-equiv=”Content-Type” content=”text/html; charset=iso-8859-1?>
<title>Oro Italiano - Strenne Natalizie</title>
<style type="text/css">
body {
margin: 0 auto;
width:1000px
}
#logo{
float: center;
width: 1000px;
}
#menu{
float: left;
width: 200px;
}
#contenuti{
float: right;
width: 800px;
}
</style>
</head>
<body>
<body bgcolor="black">
<div id="boxbig">
<div id="logo">
<p align"center"><img src="http://oroitaliano.altervista.org/immagini/headlogo.jpg"></p>
</div>
<div id="menu">
<br><br><br>
<a href="http://oroitaliano.altervista.org/informazioni.html" target="contenuti"><img src="http://oroitaliano.altervista.org/immagini/bottoneinformazioni.jpg"></a>
<br>
<a href="http://oroitaliano.altervista.org/prodotti.html" target="contenuti"><img src="http://oroitaliano.altervista.org/immagini/bottonelistaprodotti.jpg"></a>
<br>
<img src="http://oroitaliano.altervista.org/immagini/bottonefaiiltuoordine.jpg">
<br>
<img src="http://oroitaliano.altervista.org/immagini/bottonecontattaci.jpg">
</div>
<div id="contenuti">
<?php include("pagina.html"); //nota: può essere pagina.php, pagina.txt, pagina.htm...... L'importante è che sia un testo
?>
</div>
</div>
</body>
</html>
In questo modo, verrebbe da pensare di fare pagine identiche a questa, modificando soltanto il nome della pagina da includere... Ma non sarebbe molto saggio! Perché riscrivere ogni volta lo stesso codice inutilmente?
La soluzione "finale" è quella di fare un'unica pagina, e includere la pagina dinamicamente tramite un parametro GET passato nell'url (è più o meno così che funzionano i siti pseudo-seri).
Codice PHP:
<head>
<meta http-equiv=”Content-Type” content=”text/html; charset=iso-8859-1?>
<title>Oro Italiano - Strenne Natalizie</title>
<style type="text/css">
body {
margin: 0 auto;
width:1000px
}
#logo{
float: center;
width: 1000px;
}
#menu{
float: left;
width: 200px;
}
#contenuti{
float: right;
width: 800px;
}
</style>
</head>
<body>
<body bgcolor="black">
<div id="boxbig">
<div id="logo">
<p align"center"><img src="http://oroitaliano.altervista.org/immagini/headlogo.jpg"></p>
</div>
<div id="menu">
<br><br><br>
<a href="http://oroitaliano.altervista.org/informazioni.html" target="contenuti"><img src="http://oroitaliano.altervista.org/immagini/bottoneinformazioni.jpg"></a>
<br>
<a href="http://oroitaliano.altervista.org/prodotti.html" target="contenuti"><img src="http://oroitaliano.altervista.org/immagini/bottonelistaprodotti.jpg"></a>
<br>
<img src="http://oroitaliano.altervista.org/immagini/bottonefaiiltuoordine.jpg">
<br>
<img src="http://oroitaliano.altervista.org/immagini/bottonecontattaci.jpg">
</div>
<div id="contenuti">
<?php
if(isset($_GET['pagina']) && file_exists($_GET['pagina'].'.html'))
include($_GET['pagina'].'.html');
else
include('home.html');
?>
</div>
</div>
</body>
</html>
So benissimo che il pezzo
Codice PHP:
<?php
if(isset($_GET['pagina']) && file_exists($_GET['pagina'].'.html'))
include($_GET['pagina'].'.html');
else
include('home.html');
?>
può apparire arabo, ma non è così!
Mettiamo caso che questa pagina si chiami "index.php". Richiamandola in questo modo: "index.php?pagina=informazioni", la variabile $_GET['pagina'] avrà valore "informazioni".
Codice PHP:
if(isset($_GET['pagina']) && file_exists($_GET['pagina'].'.html'))
Questa riga controlla se esiste un parametro inviato nella pagina: isset($_GET['pagina']) ritorna vero se, appunto, esiste $_GET['pagina'], mentre file_exists($_GET['pagina'].'.html') controlla se esiste il file chiamato $_GET['pagina'].html. Nel nostro caso, "informazioni.html".
Se entrambe le condizioni sono vere, lo script includerà include($_GET['pagina'].'.html');, quindi "informazioni.html". Altrimenti, includerà una pagina predefinita (home.html).
Perché è meglio utilizzare questo "metodo"?
Prima di tutto, c'é meno codice ripetuto (anzi, direi quasi nessuno). Inoltre, se si vuol modificare un attimo la struttura della pagina, è sufficiente farlo nell'unica pagina, invece di andare a modificare tutti i file con il codice identico. Infine, con poche modifiche, è possibile salvare il contenuto non in file, ma nel database, rendendo la struttura del sito più pulita.
----------
Esempio:
In questo stesso forum, se guardate l'URL, notate un numero dopo la sezione:
Codice:
http://forum.it.altervista.org/html-xhtml-e-css/195795-più testo
Ora non ha molto senso spiegare in dettaglio come funziona, ma corrisponde circa a:
Codice:
http://forum.it.altervista.org/html-xhtml-e-css/?index.php?parametro=195795
In questo modo, leggendo $_GET['parametro'], il forum può capire il numero della discussione che stiamo leggendo. Il carattere "?" non si visualizza perché è stato nascosto grazie alle rewrite-url da htaccess (questo è tutto un altro discorso: cercando anche in questo forum si troveranno info su questo argomento).
----------
In un post so benissimo che non è possibile spiegare decentemente questa cosa, anche se semplice. Linko una discussione che aveva un problema simile.
Ovviamente, se non sono stato chiaro (come penso), fai pure sapere!
EDIT: dimenticavo: il codice html che stai utilizzando (nel tuo sito) è abbastanza obsoleto (e ci sono anche degli errori). Brevemente:
- manca l'apertura <html>
- Proprietà come
Codice HTML:
bgcolor="black"
non sono più compito dell'html, ma del css che si occupa, appunto, dello stile. L'html deve definire soltanto la struttura della pagina. - alcuni errorini del tipo
Codice HTML:
align"center"
- Per spaziare gli elementi, utilizza la proprietà margin di css, e non una cosa come:
Codice HTML:
<br><br><br>
Il tag <br> serve per mandare a capo il testo, e non per distanziare elementi nella pagina! - hai 2 tag <body>! In una pagina html dovrebbe essere unico!
In generale, aiuta molto utilizzare il validatore HTML. Non dico che bisogna aver 0 errori, ma è uno strumento utile per scovare degli errori.
Ciao!