Buongiorno (e buon Anno) a tutti, soprattutto a chi avrà la bontò di rispondermi!
Ho un problemino con una form che va a inserire nuovi records all'interna di una mySQL_table; questo è il codice della form:
codice:
<form action="add_basic_post.php" method="post" onSubmit="return do_post(); return false;">
<table>
<tr>
<td>Ragione Sociale</td><td><input id="ragionesociale" name="ragionesociale" value="" type="text"><font color="red">*</font></td>
</tr>
<tr>
<td>Indirizzo</td><td><input id="indirizzo" name="indirizzo" value="" type="text"><font color="red">*</font></td>
</tr>
<tr>
<td>Codice postale</td><td><input id="cap" name="cap" value="" type="text" size="5"><font color="red">*</font></td>
</tr>
<tr>
<td>Città</td><td><input id="citta" name="citta" value="" type="text"><font color="red">*</font></td>
</tr>
<tr>
<td>Provincia</td><td><input id="provincia" name="provincia" value="" type="text"><font color="red">*</font></td>
</tr>
<tr>
<td>Regione</td><td><select id="regione" name="regione">
<option value="">--Seleziona--</option>
<option value="Abruzzo" >ABRUZZO</option>
.......
.......
.......
.......
</select><font color="red">*</font></td>
</tr>
<tr>
<td>Telefono</td><td><input id="telefono" name="telefono" value="" type="text"></td>
</tr>
</table>
<font color="red">*</font>Obbligatorio</p>
<input type="hidden" id="submitted" value="true">
<p style="text-align:center"><input type="submit" value="Invia"><input type="button" id="Login" value="Annulla" onClick="self.parent.tb_remove();" /></p>
</form>
Questo invece il codice PHP inserito all'interno del file dell'action (add_basic_post.php):
codice:
<?php
include_once('config.php');
$sql="INSERT INTO mySQL_table (ragionesociale, indirizzo, cap, citta, provincia, regione, telefono)
VALUES
('$_POST[ragionesociale]','$_POST[indirizzo]','$_POST[cap]','$_POST[citta]','$_POST[provincia]','$_POST[regione]','$_POST[telefono]')";
if (!mysql_query($sql,$con))
{
die('Error: ' . mysql_error());
}
$ragionesociale=$_POST['ragionesociale'];
$indirizzo=$_POST['indirizzo'];
$cap=$_POST['cap'];
$citta=$_POST['citta'];
$provincia=$_POST['provincia'];
$regione=$_POST['regione'];
$telefono=$_POST['telefono'];
if(($ragionesociale!='')&&($indirizzo!='')&&($cap!='')&&($citta!='')&&($provincia!='')&&($regione!=''))
{
echo "
<h1 id=\"title\" style=\"text-align:center\">La ditta«" . $_POST['ragionesociale'] . "»è stata inserita!</h1>
<h2 style=\"text-align:center\">Grazie per la segnalazione.</h2>
";
echo "<p style=\"text-align:center\"><input type=\"button\" id=\"Login\" value=\"OK\" onclick=\"self.parent.tb_remove();\"></p>";
}
else
{
echo "
<div id=\"theContent\"><h3 style=\"text-align:center\">Tutti i campi segnati con l’asterisco (<font color='red'>*</font>) devono essere compilati!</h3></div>
";
echo "<p style=\"text-align:center\"><input type=\"button\" id=\"Login\" value=\"OK\" onclick=\"self.parent.tb_remove();\"></p>";
}
mysql_close($con);
?>
E fin qui direi che va tutto bene! Ovvero, il controllo sui campi eventualmente NON compilati dall'utente funziona (si leggono correttamente i messaggi inseriti nel caso la form sia stata compilata correttamente, sia quelli di errore nel caso vengano lasciati campi vuoti...).
Quello che non mi riesce di fare (ed è qui che mi serve il vostro AIUTO) è di evitare che i dati confluiscano alla mySQL_table anche nel caso i campi non siano TUTTI compilati (che è quello che invece purtroppo succede). Suggerimenti? Grazie a tutti,
Carloemilio