Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    Form di inserimento dati

    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&laquo;" . $_POST['ragionesociale'] . "&raquo;è 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&rsquo;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

  2. #2
    direi che è questione di php, non di db...

  3. #3
    Diciamo che è un problema di programmazione PHP, quindi dovresti postare in http://forum.html.it/forum/forumdisp...?s=&forumid=39

    Comunque, tu prima esegui la query e poi fai i controlli.
    Invece dovesti fare una cosa tipo:

    codice:
    	$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!=''))
    {
    
    if (!mysql_query($sql,$con))
      {
      die('Error: ' . mysql_error());
      }
    
    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);
    "640K dovrebbero essere sufficienti per chiunque"
    www.informaticanetworking.it

  4. #4
    Grazie e mille revy84new !! E' proprio come dicevi tu...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.