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:
Grazie a chiunque possa aiutarmicodice:<?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); ?>

Rispondi quotando
