Comunque c' era un bel casino, della serie "copio e incollo e chi se ne frega", così funziona, l' ho testato personalmente:
codice:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<style type="text/css">
label, input, textarea {
margin: 1em;
}
</style>
<title>Bacheca elettronica</title>
</head>
<body>
<form method="post" action="">
<label for="name">Nome</label>
<input type="text" name="name" id="name"/><br>
<label for="mail">Email</label>
<input type="text" name="mail" id="mail"/><br>
<label for="message">Messaggio</label><br>
<textarea rows="5" cols="40" name="message" id="message"></textarea><br>
<input type="submit" value="Invia"/>
</form>
<?php
//Parametri del database
$//Parametri del database
$db_host = "localhost";
$db_user = "admin";
$db_password = "password";
$database = "bacheca";
$db_bacheca = "bacheca";
//Controllo dati
$error= "";
if(isset($_POST['name']) and $_POST['name'] != ""){//<- controllo nome
$nome = strip_tags($_POST['name']);
}
elseif(isset($_POST['name'])){
$error .= "Nome mancante.<br />";
}
if(isset($_POST['mail']) and preg_match('/^[a-z0-9&\'\.\-_\+]+@[a-z0-9\-]+\.([a-z0-9\-]+\.)*+[a-z]{2}/is', $_POST['mail'])){//<- controlla se la mail è presente e se è in un formato valido
$mail = $_POST['mail'];
}
elseif(isset($_POST['mail'])){
$error .= "Email mancante o non valida.<br />";
}
if(isset($_POST['message']) and $_POST['message'] != ""){//<- controllo messaggio
$messaggio = strip_tags($_POST['message']);
}
elseif(isset($_POST['message'])){
$error .= "Inserire un messaggio.<br/>";
}
//Inizio Connessione al DB
$db = mysql_connect($db_host, $db_user, $db_password);
$db_select = mysql_select_db($database, $db) or die ('Errore');
echo mysql_error($db);
//Salvataggio messaggio
if(isset($nome,$mail,$messaggio)){
$err_database = mysql_error()."<p>Errore di accesso al database. Riprovare più tardi, nel caso, contattare il web master</p>";
$sql = "INSERT INTO ".$db_bacheca." (nome,email,messaggio) VALUES ('".$nome."','".$mail."','".$messaggio."')";
print $sql;
//Invio dati al database
$insert = mysql_query($sql) or die ($err_database);
}
else{
echo "<p>".$error."</p>";
}
$err_database = mysql_error()."<p>Al momento non sono presenti avvisi in bacheca.</p>";
$bacheca = mysql_query("SELECT * FROM ".$db_bacheca." ORDER BY DATA DESC") or die ($err_database);
$n = 0;
$max = 10;
while($estrazione = mysql_fetch_array($bacheca) and $n < $max){
echo"
<div>
<p>".$estrazione['MESSAGGIO']."<br/>
Autore: ".$estrazione['NOME']."<br/>
Data: ".date('d/m/Y',$estrazione['DATA'])."</p>
</div>
";
$n++;
}
mysql_close();
?>
</body>
</html>
Ricontrolla i dati di accesso e il nome della tabella (la crei con la b minuscola ma poi la definisci con la B maiuscola nello script php)
[edit] la maiuscola non c' entra, ho copiato il tuo codice sql per la creazione e me l' ha comunque nominata con la b minuscola. Il bordello era nella stringa SQL, variabili sbagliate e nomi colonne sbagliati scritti in maiusolo mentre nella tabella sono scritti in minuscolo