Salve a tutti, sono un neofita sia nella programmazione che in PHP;
il problema é questo:
in questo script dovrebbero essere generati, tramite un ciclo for, un numero di form ($numf) postato da una precedente pagina di codice.
La precedente pagina di codice contiene solo un form in cui viene indicato il numero di elementi da aggiungere a una tabella mysql.
Il problema é che, qualora io esegua lo script della precedente pagina per inviare il numero di elementi (e quindi di form) da generare,e ancora prima che io inserisca i dati ($nom,$cognom) nel form(che poi non verranno registrati), nella tabella mysql vengono inserite tante righe quante indicate ma con valore nullo per ogni campo.
Qualcuno di voi avrebbe idea del perché e di come si possa rimediare a questo problema?
Grazie in anticipo...!!
Codice PHP:
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Ändern</title>
</head>
<body>
</p>
<?php
mysql_connect("localhost", "root") or die(mysql_error());
mysql_select_db("progetto") or die(mysql_error());
$numf = $_POST['a'];
if ($numf > 0) {
for ($x=1; $x<=$numf; $x++)
{
?>
<form method="post" action= '<?php echo $PHP_SELF; ?>'>
<h3>Aggiungi: </h3>
</p>
Nome e cognome
<input type= "text" name="nome<?php echo $x;?>" value = "" >
<input type= "text" name="cognome<?php echo $x;?>" value = "" >
</p>
<input name="submit1" type="submit" value="Aggiungi">
</p>
</form>
<?php
if ($_POST['Aggiungi']) {
$nom = $_POST['nome'.$x];
$cognom = $_POST['cognome'.$x];
$insert = "INSERT INTO base (Nome, Cognome)
VALUES ('".$nom."','".$cognom."')";
$add_member = mysql_query($insert) or die (mysql_error());
if ($add_member) {
echo "Articolo Inserito<hr>" ;
} else { echo "Fehler: kein Insert"; }
}
else { echo "Fehler: kein Submit"; }
}}
?>
</body>
</html>