Comunque c' era un bel casino, della serie "copio e incollo e chi se ne frega", così funziona, l' ho testato personalmente:
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)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>
[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

Rispondi quotando