Ciao a tutti,
il mio intento è realizzare un form per l'inseriento dati su di una tabella di un database mysql su cui mi sono già autenticato.
Questa è la tabella su cui devo fare l'inserimento:
codice:Campo Tipo Collation Attributi Null Predefinito Extra Azione id int(11) No None AUTO_INCREMENT nome varchar(128) latin1_swedish_ci No None cognome varchar(128) latin1_swedish_ci No None sesso varchar(120) latin1_swedish_ci No None codfis varchar(128) latin1_swedish_ci No None città varchar(128) latin1_swedish_ci No None titolo varchar(128) latin1_swedish_ci No None reato varchar(120) latin1_swedish_ci No None giustizia varchar(120) latin1_swedish_ci No None note varchar(120) latin1_swedish_ci No None
Questa è la pagina di inserimento:
insert.php
Questa è la pagina cui giungono i dati passati dal post della pagina precedente:codice:<?php session_start(); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Inserimento scheda</title> <link href="loginmodule.css" rel="stylesheet" type="text/css" /> <style type="text/css"> .auto-style1 { text-align: center; } .auto-style2 { color: #FF9900; text-align: center; font-size: small; } .auto-style3 { border: 1px solid #000000; } .auto-style4 { margin-bottom: 0px; } </style> </head> <body> <?php if( isset($_SESSION['ERRMSG_ARR']) && is_array($_SESSION['ERRMSG_ARR']) && count($_SESSION['ERRMSG_ARR']) >0 ) { echo '<ul class="err">'; foreach($_SESSION['ERRMSG_ARR'] as $msg) { echo '[*]',$msg,''; } echo '[/list]'; unset($_SESSION['ERRMSG_ARR']); } $sesso = array( 'uomo' => 1, 'donna' => 2 ); $città = array( 'Siena' => 1, 'Catania' => 2 ); $titolo = array( 'Licenza elementare' => 1, 'Licenza media' => 2, 'Diploma' => 3, 'Laurea' => 4, 'Nessuno' => 5 ); $reato = array( 'Contro il patrimonio' => 1, 'Contro la persona' => 2, 'Contro L. 309/90' => 3, 'ALTRO' => 4, 'N.S.' => 5 ); $giustizia = array( 'Detenuti' => 1, 'Semiliberi' => 2, 'Detenuti domiciliari' => 3, 'Affidati in prova ai s.s.' => 4, 'Ex detenuti' => 5, 'Arresti domiciliari' => 6, 'Misure di sicurezza' => 7, 'Sospensione pena' => 8 ); function generateSelect($name = '', $options = array()) { $html = '<select name="'.$name.'">'; foreach ($options as $option => $value) { $html .= '<option value='.$value.'>'.$option.'</option>'; } $html .= '</select>'; return $html; }; ?> <form id="schedainserimento" name="schedainserimento" method="post" action="insert-exec.php"> <p class="auto-style1"> [img]minilogo.jpg[/img][img]sole.jpg[/img]</p> <p class="auto-style2"></p> <p class="auto-style2"></p> <p class="auto-style2">Inserimento scheda nuovo utente</p> <p class="auto-style2"></p> <table align="center" cellpadding="2" cellspacing="0" style="width: 813" class="auto-style3"> <tr> <th style="width: 144px">Nome </th> <td style="width: 76px"> <input name="Nome" type="text" class="textfield" id="nome" style="width: 160px" /></td> <td style="width: 130px">Cognome </td> <td style="width: 282px"> <input name="Cognome" type="text" class="textfield" id="cognome" style="width: 297px" /></td> </tr> <tr> <th style="width: 144px">Sesso</th> <td style="width: 76px"> <select name="sesso"> <option value="1">Uomo</option> <option value="2">Donna</option> </select> <td>Codice Fiscale</td> <td> <input name="Codfis" type="text" class="textfield" id="codfis" style="width: 297px; height: 17px" /></td> </tr> <tr> <th style="width: 144px">Città</th> <td style="width: 76px"> <select name="Città"> <option value="1">Siena</option> <option value="2">Catania</option> </select> <td>Titolo di Studio</td> <td> <select name="Titolo"> <option value="1">Licenza elementare</option> <option value="2">Licenza media</option> <option value="3">Diploma</option> <option value="4">Laurea</option> <option value="5">Nessuno</option> </select> </tr> <tr> <th style="width: 144px">Tipologia Reato</th> <td> <select name="Reato"> <option value="1">Contro il patrimonio</option> <option value="2">Contro la persona</option> <option value="3">Contro L. 309/90</option> <option value="4">ALTRO</option> <option value="5">N.S.</option> </select> </tr> <td> Giustizia Adulti</tr> <td> <select name="Giustizia"> <option value="1">Detenuti</option> <option value="2">Semiliberi</option> <option value="3">Detenuti domiciliari</option> <option value="4">Affidati in prova ai s.s.</option> <option value="5">Ex detenuti</option> <option value="6">Arresti domiciliari</option> <option value="7">Misure di sicurezza</option> <option value="8">Sospensione pena</option> </select> </tr> <tr> <td style="width: 144px">Note</td> <td colspan="3"> <input name="Note" type="text" class="textfield" id="note" style="width: 618px; height: 78px" /></td> </tr> <tr> <td class="auto-style1" colspan="4"> <input type="submit" name="Inserisci" value="Inserisci" class="auto-style4" /></td> </tr> </table> </form> <p class="auto-style1"></p> <div> </div> </body> </html>
insert_exec.php
Questa è la pagina che restituisce il risultato dell'operazione:codice:<?php //Start session session_start(); //Include database connection details require_once('config.php'); //Array to store validation errors $errmsg_arr = array(); //Validation error flag $errflag = false; //Connect to mysql server $link = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD); if(!$link) { die('Failed to connect to server: ' . mysql_error()); } //Select database $db = mysql_select_db(DB_DATABASE); if(!$db) { die("Unable to select database"); } //Function to sanitize values received from the form. Prevents SQL injection function clean($str) { $str = @trim($str); if(get_magic_quotes_gpc()) { $str = stripslashes($str); } return mysql_real_escape_string($str); } //Sanitize the POST values $nome = clean($_POST['nome']); $cognome = clean($_POST['cognome']); $sesso = clean($_POST['sesso']); $codfis = clean($_POST['codfis']); $città = clean($_POST['città']); $titolo = clean($_POST['titolo']); $reato = clean($_POST['reato']); $giustizia = clean($_POST['giustizia']); $note = clean($_POST['note']); //Input Validations if($nome == '') { $errmsg_arr[] = 'Nome mancante!'; $errflag = true; } if($cognome == '') { $errmsg_arr[] = 'Cognome mancante!'; $errflag = true; } if($sesso == '') { $errmsg_arr[] = 'Sesso mancante!'; $errflag = true; } if($codfis == '') { $errmsg_arr[] = 'Codice Fiscale mancante!'; $errflag = true; } if($città == '') { $errmsg_arr[] = 'Città mancante!'; $errflag = true; } if($titolo == '') { $errmsg_arr[] = 'Titolo di studio mancante!'; $errflag = true; } if($reato == '') { $errmsg_arr[] = 'Tipologia reato mancante!'; $errflag = true; } if($giustizia == '') { $errmsg_arr[] = 'Settore giudiziario mancante!'; $errflag = true; } if($note == '') { $errmsg_arr[] = 'note mancanti!'; $errflag = true; } $qry="INSERT INTO utenti (nome, cognome, sesso, codfis, città, titolo, reato, giustizia, note) VALUES('$nome','$cognome','$sesso','$codfis','$città','$titolo','$reato','$giustizia,'$note')"; $result = @mysql_query($qry); //Check whether the query was successful or not if($result) { header("location: insert-ok.php"); exit(); }else { die("Query failed"); } ?>
insert-ok.php
codice:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Operazione completata</title> <link href="loginmodule.css" rel="stylesheet" type="text/css" /> </head> <body> <h1>Inserimento scheda effettuato correttamente!</h1> Clicca qui per effettuare un altro inserimento.</p> </body> </html>
Appena inserisco i dati nel form mi viene restituito un QUERY FAILED.....non riesco a capire dove stia l'errore.....ci sto sbattendo la testa da un paio di giorni ma non riesco a venirne a capo...mi date una mano??
Grazie a tutti!!
Tiziano


Rispondi quotando