Problema con inserimento dati tabella

JerryLeeLewis

Nuovo Utente
30 Mar 2011
20
0
0
Ciao a tutti.
E' il mio primo post qui.
Vorrei popolare una tabella creata in MySql con i dati provenienti da un form html creato su di una pagina.
Ho creato poi un file .php con le istruzioni per popolare i campi della tabella.
Una volta lanciato lo script non mi ritornano errori e sembrerebbe andato a buon fine. Solo che la tabella del database non mi si popola.
Dove ho sbagliato? Cosa manca?

Vi posto i due file che ho creato.
Form per la compilazione della tabella:

<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=windows-1250">
<meta name="generator" content="PSPad editor, www.pspad.com">
<title>La Rubrica del buon operatore di Help Desk</title>
</head>
<body>
<form name="InvioDatiRubrica" action="ProcessaInvioDatiRubrica.php" method="POST">
<table width=75% border=2 align="center">
<caption align="center"><b>Zona di riferimento</b></caption>
<thead>
<tr>
<th>RO</th>
<th>Regione</th>
</tr>
</thead>
<tbody>
<tr>
<td align="center"><select name="RegionalOperation">
<option value=" " selected="selected"></option>
<option value="PV">PV</option>
<option value="LO">LO</option>
<option value="NE">NE</option>
<option value="CN">CN</option>
<option value="C1">C1</option>
<option value="CE">CE</option>
<option value="S1">S1</option>
<option value="S2">S2</option>
</td>
<td align="center"><select name="RegioniItalia">
<option value=" " selected="selected"></option>
<option value="Abruzzo">Abruzzo</option>
<option value="Basilicata">Basilicata</option>
<option value="Calabria">Calabria</option>
<option value="Campania">Campania</option>
<option value="Emilia Romagna">Emilia Romagna</option>
<option value="Friuli Venezia Giulia">Friuli Venezia Giulia</option>
<option value="Lazio">Lazio</option>
<option value="Liguria">Liguria</option>
<option value="Lombardia">Lombardia</option>
<option value="Marche">Marche</option>
<option value="Molise">Molise</option>
<option value="Piemonte">Piemonte</option>
<option value="Puglia">Puglia</option>
<option value="Sardegna">Sardegna</option>
<option value="Sicilia">Sicilia</option>
<option value="Toscana">Toscana</option>
<option value="Trentino Alto Adige">Trentino Alto Adige</option>
<option value="Umbria">Umbria</option>
<option value="Valle D'Aosta">Valle D'Aosta</option>
<option value="Veneto">Veneto</option>
</td>
</tbody>
</table>
<br>
<table width=75% border=2 align="center">
<caption align="center"><b>Dati Anagrafici</b></caption>
<thead>
<tr>
<th>Nome</th>
<th>Cognome</th>
<th>Tel. Ufficio</th>
<th>Cellulare</th>
<th>E-Mail</th>
</tr>
</thead>
<tbody>
<tr>
<td align="center" name="nome"><input type="text"></td>
<td align="center" name="cognome"><input type="text"></td>
<td align="center" name="telufficio"><input type="text"></td>
<td align="center" name="cellulare"><input type="text"></td>
<td align="center" name="mail"><input type="text"></td>
</tr>
</tbody>
</table>
<br>
<table width=75% border=2 align="center">
<caption align="center"><b>Annotazioni Particolari</b></caption>
<tbody>
<tr>
<td align="center"><textarea name="annotazioni" rows="5" cols="40">Qui puoi scrivere le tue annotazioni particolari</textarea></td>
</tr>
</table>
<br>
<div align="center"><input type="submit" name="submit" value="Invia i Dati"/>
<input type="reset" name="reset" value="Ripulisci Form"/></div>
</form>
</body>
</html>

File .php con lo script:

<?php
$myconn = mysql_connect("localhost", "root", "") or die('Errore, mancata connessione');
mysql_select_db('rubrica', $myconn) or die("Errore, mancata connessione al Database");
$inserisci="INSERT INTO nominativi (RO,PROVINCIA,NOME,COGNOME,TELUFF,CELL,EMAIL,NOTE) VALUES ('RegionalOperation','RegioniItalia','nome','cognome','telufficio','cellulare','mail','annotazioni')";
echo "Record Inserito con successo";

?>


Ciao e grazie a tutti
Jerry Lee Lewis
 
Ciao a tutti.
E' il mio primo post qui.
Vorrei popolare una tabella creata in MySql con i dati provenienti da un form html creato su di una pagina.
Ho creato poi un file .php con le istruzioni per popolare i campi della tabella.
Una volta lanciato lo script non mi ritornano errori e sembrerebbe andato a buon fine. Solo che la tabella del database non mi si popola.
Dove ho sbagliato? Cosa manca?

Vi posto i due file che ho creato.
Form per la compilazione della tabella:

<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=windows-1250">
<meta name="generator" content="PSPad editor, www.pspad.com">
<title>La Rubrica del buon operatore di Help Desk</title>
</head>
<body>
<form name="InvioDatiRubrica" action="ProcessaInvioDatiRubrica.php" method="POST">
<table width=75% border=2 align="center">
<caption align="center"><b>Zona di riferimento</b></caption>
<thead>
<tr>
<th>RO</th>
<th>Regione</th>
</tr>
</thead>
<tbody>
<tr>
<td align="center"><select name="RegionalOperation">
<option value=" " selected="selected"></option>
<option value="PV">PV</option>
<option value="LO">LO</option>
<option value="NE">NE</option>
<option value="CN">CN</option>
<option value="C1">C1</option>
<option value="CE">CE</option>
<option value="S1">S1</option>
<option value="S2">S2</option>
</td>
<td align="center"><select name="RegioniItalia">
<option value=" " selected="selected"></option>
<option value="Abruzzo">Abruzzo</option>
<option value="Basilicata">Basilicata</option>
<option value="Calabria">Calabria</option>
<option value="Campania">Campania</option>
<option value="Emilia Romagna">Emilia Romagna</option>
<option value="Friuli Venezia Giulia">Friuli Venezia Giulia</option>
<option value="Lazio">Lazio</option>
<option value="Liguria">Liguria</option>
<option value="Lombardia">Lombardia</option>
<option value="Marche">Marche</option>
<option value="Molise">Molise</option>
<option value="Piemonte">Piemonte</option>
<option value="Puglia">Puglia</option>
<option value="Sardegna">Sardegna</option>
<option value="Sicilia">Sicilia</option>
<option value="Toscana">Toscana</option>
<option value="Trentino Alto Adige">Trentino Alto Adige</option>
<option value="Umbria">Umbria</option>
<option value="Valle D'Aosta">Valle D'Aosta</option>
<option value="Veneto">Veneto</option>
</td>
</tbody>
</table>
<br>
<table width=75% border=2 align="center">
<caption align="center"><b>Dati Anagrafici</b></caption>
<thead>
<tr>
<th>Nome</th>
<th>Cognome</th>
<th>Tel. Ufficio</th>
<th>Cellulare</th>
<th>E-Mail</th>
</tr>
</thead>
<tbody>
<tr>
<td align="center" name="nome"><input type="text"></td>
<td align="center" name="cognome"><input type="text"></td>
<td align="center" name="telufficio"><input type="text"></td>
<td align="center" name="cellulare"><input type="text"></td>
<td align="center" name="mail"><input type="text"></td>
</tr>
</tbody>
</table>
<br>
<table width=75% border=2 align="center">
<caption align="center"><b>Annotazioni Particolari</b></caption>
<tbody>
<tr>
<td align="center"><textarea name="annotazioni" rows="5" cols="40">Qui puoi scrivere le tue annotazioni particolari</textarea></td>
</tr>
</table>
<br>
<div align="center"><input type="submit" name="submit" value="Invia i Dati"/>
<input type="reset" name="reset" value="Ripulisci Form"/></div>
</form>
</body>
</html>

File .php con lo script:

<?php
$myconn = mysql_connect("localhost", "root", "")
or die('Errore, mancata connessione');
mysql_select_db("rubrica", $myconn) or die("Errore, mancata connessione al Database");
$inserisci="INSERT INTO nominativi (RO,PROVINCIA,NOME,COGNOME,TELUFF,CELL,EMAIL,NOTE) VALUES ('RegionalOperation','RegioniItalia','nome','cognome','telufficio','cellulare','mail','annotazioni')";
echo "Record Inserito con successo";

?>


Ciao e grazie a tutti
Jerry Lee Lewis


ciao
prova così:

PHP:
..........


$inserisci="INSERT INTO nominativi (RO, PROVINCIA, NOME, COGNOME, TELUFF, CELL, EMAIL, NOTE) VALUES  ('$_POST[RegionalOperation]', '$_POST[RegioniItalia]', '$_POST[nome]', '$_POST[cognome]', '$_POST[telufficio]',  '$_POST[cellulare]', '$_POST[mail]', '$_POST[annotazioni]', )";
echo "Record Inserito con successo";

?>
 
ciao
un paio di cose
1. intanto manca l'istruzione mysql_query
2. inserire nel db i post così brutalmente può essere molto pericoloso (per il db)
3. ti coviene mettere un if per il submit
PHP:
<?php
//...
if(isset($_POST['Submit']){
	$inserisci="INSERT INTO nominativi (RO, PROVINCIA, NOME, COGNOME, TELUFF, CELL, EMAIL, NOTE) VALUES  ('$_POST[RegionalOperation]', '$_POST[RegioniItalia]', '$_POST[nome]', '$_POST[cognome]', '$_POST[telufficio]',  '$_POST[cellulare]', '$_POST[mail]', '$_POST[annotazioni]', )"; 
	if(mysql_query($inserisci){
		echo "Record Inserito con successo";
	}else{
		echo "Errore: record non inserito";
	}
}
//.....
?>
MA SOPRATTUTTO!!!!
i campi di input devono avere un nome, altrimenti come fa php a distinguerli
es.
<input type="text" name="nome">
<input type="text" name="cognome"> ecc...

manca il tag di chiusura delle select </select>
 
Per forza la query non restituisce errori... non la esegui! Modifica così:
PHP:
$sql = "INSERT INTO nominativi (RO, PROVINCIA, NOME, COGNOME, TELUFF, CELL, EMAIL, NOTE) VALUES  ('{$_POST[RegionalOperation]}', '{$_POST['RegioniItalia']}', '{$_POST['nome']}', '{$_POST['cognome']}', '{$_POST['telufficio']}',  '{$_POST['cellulare']}', '{$_POST['mail']}', '{$_POST['annotazioni']}')";
mysql_query($sql) or die(mysql_error());
 

Discussioni simili