Salve a tutti e buona domenica [quando scrivo].
Il mio script ha un problema, o meglio ne ha diversi ma per ora voglio affrontare solo questo.
Una volta aperta la pagina, senza aspettare che un utente scriva dentro al form, nel database mi vengono ripetuti i valori inseriti precedentemente. Sotto viene inserito il messaggio di "Il record è stato inserito correttamente" e creando per tanto dei record nel database ripetuti.
Come posso far in modo di attivare la connessione al database da parte del PHP solo quando l'utente prese sul pulsante di invio dei dati, e non solo se si carica la pagina?
Io fino ad ora ho fatto questo, ma non funziona (come detto sopra).
Codice PHP:
<?php
//clausola iniziale, se viene premuto il submit allora procedi
if (isset($_POST['inviato'])) {
//Collegamento
$host= '127.0.0.1';
$user= 'root';
$password= '';
$database= '********';
$connessione = mysql_connect($host, $user, $password)
or die (mysql_error());
mysql_select_db($database, $connessione)
or die (mysql_error());
//Indico la riga di comando dell'inserimento
$query = "insert into commenti " . "(nome, email, sito, messaggio)" .
"VALUES('" .
$_REQUEST['nome'] . "','" .
$_REQUEST['email'] . "','" .
$_REQUEST['sito'] . "','" .
$_REQUEST['messaggio'] .
"')" ;
}
else
{
print("scrivi i dati");
}
if (!mysql_query($query, $connessione))
{
print("Attenzione, impossibile inserire il record" . mysql_error());
}
else
{
print("Il record è stato inserito correttamente");
}
//chiudo la connessione
mysql_close($connessione);
?>
Come potrei sistemarlo al meglio per evitare la ripetizione continua dei record?