Ciao ragazzi,
ho scritto il codice di una pagina che tramite un form inserisce una nuova riga all'interno di una tabella (persons) in un database (person_db), praticamente ogni riga della tabella contiene 4 campi (idPersona, Nome, Cognome, Età).
Dopo aver inviato i dati del form voglio che la pagina php stampi la tabella aggiornata con i nuovi dati, funziona tutto a parte il fatto che ogni volta che inserisco una persona tramite il form questa viene inserita due volte nella tabella.
La chiave primaria è l'idPersona che si auto incrementa.
Questo è il codice:
codice:
<?php
//Lab MySql esercizi introduttivi
//Esercizio 1.2
$nome=$_POST['Inome'];
$cognome=$_POST['Icognome'];
$età=$_POST['Ietà'];
$conn=mysqli_connect("localhost", "root", "");
if(!$conn)
{
mysqli_close($conn);
die("problemi nello stabilire la connessione<br>");
}
//se non esiste il database lo creo, la funzione contiene l'esercizio 1.1
if(!mysqli_select_db($conn, "person_db"))
{
mysqli_close($conn);
die("Errore di accesso al database person_db<br>");
}
if (!$nome && !$cognome && !$età)
die("Devi inserire dei dati<br>
<a href='inserisci.php'>Nuovo inserimento</a>");
else
{
$comando="INSERT INTO persons (Nome, Cognome, Età) VALUES ('$nome', '$cognome', '$età')";
$result=mysqli_query($conn, $comando);
if (!mysqli_query($conn, $comando))
echo "Inserimento fallito";
else
{
echo "Inserimento completato, questa è la tabella aggiornata:";
$comando="SELECT * FROM persons";
$result=mysqli_query($conn, $comando);
echo "<table border='1'>
<tr><td colspan='4' style='text-align:center; color:red'>TABELLA Persons</td></tr>
<tr style='font-weight:bold; color:blue'>
<td>IdPersona</td>
<td>Nome</td>
<td>Cognome</td>
<td>Età</td>
</tr>";
while ($dati=mysqli_fetch_array($result))
{
echo "<tr>
<td>$dati[idPersona]</td>
<td>$dati[Nome]</td>
<td>$dati[Cognome]</td>
<td>$dati[Età]</td>
</tr>";
}
echo "</table>";
}
}
//chiudo la connessione
mysqli_close($conn);
?>
Grazie a chiunque possa aiutarmi