Ciao,
Quoto in pieno Alemoppo, in effetti HTML con gli eventuali CSS non sono affatto linguaggi di programmazione, bensì solo metalinguaggi che come tali permettono solo di visualizzare sul browser del client richiedente una pagina in puro HTML senza alcuna elaborazione o controllo sui dati inseriti in un form o guestbook.
Per ottenere ciò, devi utilizzare un linguaggio di scripting server side (il javascript essendo client side può essere tranquillamente disabilitato da un utente che compila un form ad esempio) come appunto il PHP, magari memorizzando le info immesse in un database come MySQL.
Fatta 'sta premessa ti mostro il guestbook che uso sul mio sito con i controlli sui dati immessi: spero ti possa aiutare, (chiaramente i riferimenti ai CSS all'interno puoi toglierli oppure crearti le classi che vuoi, inoltre il mio sito è in XHTML come vedi dal prologo):
Codice PHP:
<?php
$connessione=mysql_connect("localhost", "root", "") or die (mysql_error());
$selezione_db=mysql_select_db("guestbook", $connessione) or die (mysql_error());
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="it" lang="it">
<head>
<?php
include("header.html");
?>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Leggi il guestbook!</title>
<link rel="shortcut icon" href="favicon.ico"/>
<link rel="stylesheet" href="video.css" type="text/css" media="screen" />
<link rel="stylesheet" href="stampa.css" type="text/css" media="print" />
<link rel="alternate" type="application/rss+xml" title="RSS 2.0" href="rss.xml" />
</head>
<body>
<?php
include("struttura_sito.html");
?>
<?php
function modulo_guest_locale(){ //attenzione all'apertura della parentesi graffa!
?><!-- attenzione alla chiusura del codice php, poiché bisogna fare così per inglobare normali tag html nello script //-->
<div align="center">
<h1>Guestbook</h1><br /><br /><br />
<form action="nuovo_guest.php?azione=elabora" method="post" name="moduloGuest" id="moduloGuest">
<table class="tabella_modulo2">
<thead>
<tr>
<th colspan="2">Guestbook per lasciare messaggi</th>
</tr>
</thead>
<tbody>
<tr>
<td>Il tuo nome:</td><td><input type="text" name="nome_utente" id="nome_utente" size="30" maxlength="40" /></td>
</tr>
<tr>
<td>Il tuo messaggio:</td><td><textarea name="testo" id="testo" cols="60" rows="10"></textarea></td>
</tr>
<tr><td colspan="2"><input type="submit" value="Invia" name="invio" id="invio" /> <input type="reset" value="Cancella" name="cancella" id="cancella" /></td>
</tr>
</tbody>
</table>
</form>
<br /><br /><br />
<div class="centra">Per tornare alla mia <a href="index.php">home page</a></div>
</div>
<?php
}// attenzione alla parentesi graffa di chiusura, }, che deve comprendere tutto, ovvero anche i normali tag html.
?><!-- fine function modulo_guest_locale() //-->
<?php
function elabora_guest_locale(){ // inizio function
// cerco se l'utente ha già scritto dei messaggi
$ricerca = mysql_query("select messaggio from messaggi where nome_utente = '" . htmlspecialchars($_POST['nome_utente']) . "' limit 1");
// se la query restituisce righe, allora l'utente ha già scritto in database
if (mysql_num_rows($ricerca) ) {
echo "<div class=\"h2\">Devi scegliere un altro nickname! Quello da te inserito è già presente nel database...usa un altro nick,ciao.</div> <br /><div class=\"centra\"><a href=\"nuovo_guest.php?azione=inserisci\">Torna indietro e scegli un altro nome</a></div>
<br /><br /><br /><br /><br /> ";
}
else {
$flag_controllo = 0; // inizializzo la variabile flag a valore zero
while (list ($chiave, $valore) = each ($_POST)) { // con un ciclo while controllo che l'utente abbia compilato tutti i campi del form
if ($valore == "") { // se uno dei campi non é stato compilato, eseguo le istruzioni che seguono
echo "<div class=\"h2\"> Devi inserire il tuo nome e il tuo messaggio, grazie!</div>
<div align=\"center\"><br /><br /><br /><br /><br /> <img src=\"immagini/scimmia_che_scuote_testa.gif\" width=\"120\" height=\"82\" border=\"0\" alt=\"scimmia che scuote testa\" title=\"mi spiace, hai sbagliato, riprova!\" /></div> <br /> <div class=\"centra\"><a href=\"nuovo_guest.php?azione=inserisci\">Torna indietro e compila tutti i campi</a></div>
<br /><br /><br /><br /><br />";
$flag_controllo = 1; // dichiaro che in tal caso la variabile flag assuma valore 1 cioé di errore
break; // interrompo allora l'esecuzione del codice successivo, poiché appunto c'é un campo vuoto nel form
}
}
if ($flag_controllo == 0) {
$nome_utente_formattato=htmlspecialchars($_POST['nome_utente']);
$messaggio_formattato=htmlspecialchars($_POST['testo']);
$inserimento=mysql_query("insert into messaggi (nome_utente, messaggio, data_ora) values (\"$nome_utente_formattato\", \"$messaggio_formattato\", now())") or die (mysql_error());
include("middle.html");
} // fine del primo if
} // fine function
} //fine dell'else
?><!-- fine function elabora_guest_locale //-->
<?php
function read_guest(){
$lettura_risultati=mysql_query("select nome_utente, messaggio, date_format(data_ora, 'in data %d/%m/%Y - ore %H:%i:%s') as data_formattata from messaggi order by data_ora")or(die(mysql_error()));
if(mysql_num_rows($lettura_risultati)>0){
echo "<div align=\"center\"><table class=\"tabella_seconda\">";
$flag_colore=0;
while($scatola_temporanea=mysql_fetch_array($lettura_risultati)){
$nome_utente=$scatola_temporanea['nome_utente'];
$testo_messaggio=$scatola_temporanea['messaggio'];
$data_inserimento=$scatola_temporanea['data_formattata'];
echo "<tr>";
if($flag_colore==0){
echo "<td class=\"cell8\">";
$flag_colore=1;
}
else{
echo "<td class=\"cell9\">";
$flag_colore=0;
}
echo "L'utente $nome_utente, $data_inserimento, ha scritto:<br /><br />$testo_messaggio<br /><br /><br />";
echo "</tr>";
} //fine ciclo while che scorre la query e piazza i risultati nell'array temporaneo
echo "</table></div>";
}
else{ //se non ha trovato record
echo "complimenti! nessuno ha finora inserito un messaggio.. tu puoi essere il primo!! <a href=\"modulo_guest_locale.php\">che aspetti??</a>";
}
}//fine function read_guest()
switch($_GET['azione']){
case "inserisci":
modulo_guest_locale();
break;
case "elabora":
elabora_guest_locale();
break;
case "leggi":
read_guest();
break;
}//switch sulla variabile "azione" passata nella url
?>
<?php
include("footer_per_non_stampare.html");
?>
</body>
</html>
Come vedi questo è solo un esempio per il mio guestbook in locale, che uso per provare se tutto è ok, prima di modificarlo con il mio nome utente e password per trasferirlo online sul mio sito.
Ciao.