Buongiorno a tutti,
vi sottopongo il seguente problema: le due pagine che seguiranno ricarca.php e ricerca_exec.php contengono la prima un form in cui inserisco i dettagli della query che voglio costruire e mando in POST i valori dei text box che ho così riempito alla pagina ricerca_exec.php che di fatto esegue la query utilizzando le variabili che gli sono state passate dalla pagina precedente.
Tuttavia qualcosa non va perchè la query mi resstiuisce sempre e solo un valore!! Cos'è che non va?
ricerca.php
Questa invece è la pgina di esecuzione della ricerca.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; } .auto-style5 { margin-top: 0px; } .auto-style6 { text-align: left; } .auto-style7 { margin-left: 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']); } if(isset($_POST['Submit']) ) { $nome = $_POST['nome']; $cognome = $_POST['città']; $codfis = $_POST['titolo']; $sesso = $_POST['sesso']; $citta = $_POST['citta']; $titolo = $_POST['titolo']; $reato = $_POST['reato']; $giustizia = $_POST['giustizia']; } ?> <form id="schedainserimento" name="schedainserimento" method="post" action="ricerca_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">Ricerca scheda utente</p> <p class="auto-style2"></p> <table align="center" cellpadding="2" cellspacing="0" style="width: 583px; height: 369px;" class="auto-style3"> <tr> <th style="width: 134px">Nome </th> <td class="auto-style1"> <input name="nome" type="text" class="textfield" id="nome" style="width: 421px" /></td> </tr> <tr> <th style="width: 134px">Cognome </th> <td class="auto-style1"> <input name="cognome" type="text" class="textfield" id="cognome" style="width: 424px" /></tr> <tr> <th style="width: 134px">Città</th> <td> <select name="citta"> <option value="Palermo">Siena</option> <option value="Catania">Catania</option> </select> <tr> <th style="width: 134px">Titolo di Studio</th> <td class="auto-style6"> <select name="titolo" class="auto-style7"> <option value="Licenza elementare">Licenza elementare</option> <option value="Licenza media">Licenza media</option> <option value="Diploma">Diploma</option> <option value="Laurea">Laurea</option> <option value="Nessuno">Nessuno</option> </select> </tr> <tr> <td style="width: 134px">Sesso</td> <td class="auto-style6"> <select name="sesso" value='sesso'> <option value="Uomo">Uomo</option> <option value="Donna">Donna</option> </select></td> </tr> <tr> <td style="width: 134px">Codice Fiscale</td> <td class="auto-style1"> <input name="codfis" type="text" class="textfield" id="codfis" style="width: 415px; height: 17px" /></td> </tr> <tr> <td style="width: 134px">Tipologia Reato</td> <td> <select name="reato"> <option value="Contro il patrimonio">Contro il patrimonio</option> <option value="Contro la persona">Contro la persona</option> <option value="Contro L. 309/90">Contro L. 309/90</option> <option value="ALTRO">ALTRO</option> <option value="N.S.">N.S.</option> </select></td> </tr> <tr> <td style="width: 134px"> Giustizia Adulti</td> <td> <select name="giustizia"> <option value="Detenuti">Detenuti</option> <option value="Semiliberi">Semiliberi</option> <option value="Detenuti domiciliari">Detenuti domiciliari</option> <option value="Affidati in prova ai s.s.">Affidati in prova ai s.s.</option> <option value="Ex detenuti">Ex detenuti</option> <option value="Arresti domiciliari">Arresti domiciliari</option> <option value="Misure di sicurezza">Misure di sicurezza</option> <option value="Sospensione pena">Sospensione pena</option> </select></td> </tr> <tr> <td class="auto-style1" colspan="2"> <input type="submit" name="Ricerca" value="Ricerca" class="auto-style4" /></td> </tr> </table> </form> <p class="auto-style1"></p> <p class="auto-style1"></p> <p class="auto-style1"></p> <p class="auto-style1"> </p> <p class="auto-style1"> [img]euro.gif[/img] [img]logo_comune_pa1.jpg[/img]</p> </body> </html>
ricerca_exec.php
codice:<p class="auto-style1"> [img]RISE_minilogo.jpg[/img][img]sole.jpg[/img]</p> <p class="auto-style2"></p> <p class="auto-style2"></p> <p class="auto-style2">Risultati ricerca</p> <head> <style type="text/css"> .auto-style1 { text-align: center; } .auto-style2 { color: #FF9900; text-align: center; font-size: small; } </style> </head> <?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']); $citta = clean($_POST['citta']); $titolo = clean($_POST['titolo']); $reato = clean($_POST['reato']); $giustizia = clean($_POST['giustizia']); if($_POST) { $ids = isset($_POST['id']) ? $_POST['id'] : array(); elimina_record($ids); } elseif(isset($_GET['id'])) { elimina_record(array($_GET['id'])); } else mostra_lista(); function mostra_lista() { // mostro un eventuale messaggio if(isset($_GET['msg'])) echo ''.htmlentities($_GET['msg']).' '; // preparo la query $query = "SELECT * FROM utenti WHERE nome= '".$_POST['nome']."'OR cognome= '".$_POST['cognome']."'OR citta='".$_POST['citta']."'OR titolo= //'".$_POST['titolo']."'OR sesso= '".$_POST['sesso']."'OR codfis= '".$_POST['codfis']."'OR reato= '".$_POST['reato']."'OR giustizia= '".$_POST//['giustizia']."'"; // invio la query $result = mysql_query($query); // controllo l'esito if (!$result) { die("Errore nella query $query: " . mysql_error()); } echo ' <form name="form1" method="post" action=""> <table border="1"> <tr> <th></th> <th>Nome</th> <th>Cognome</th> <th>Sesso</th> <th>Codice Fiscale</th> <th>citta</th> <th>Titolo</th> <th>Reato</th> <th>Giustizia</th> <th>Note</th> <th></th> </tr>'; while ($row = mysql_fetch_assoc($result)) { $nome = htmlentities($row['nome']); $cognome = htmlentities($row['cognome']); $sesso = htmlentities($row['sesso']); $codfis = htmlentities($row['codfis']); $citta_ = htmlentities($row['citta']); $titolo = htmlentities($row['titolo']); $reato = htmlentities($row['reato']); $giustizia = htmlentities($row['giustizia']); $note = htmlentities($row['note']); $server=$_SERVER['PHP_SELF']; $rowid=$row['id']; $link="$server/?id=$rowid"; $link2="update_record_schede.php?id=$rowid"; echo "<tr> <td><input name=\"id[]\" type=\"checkbox\" value=\"$row[id]\" /></td> <td>$nome</td> <td>$cognome</td> <td>$sesso</td> <td>$codfis</td> <td>$citta</td> <td>$titolo</td> <td>$reato</td> <td>$giustizia</td> <td>$note</td> <td><a href=\"$link\">elimina</a></td> <td><a href=\"$link2\">modifica</a></td> </tr>"; } echo '</table> <input type="submit" name="Submit" value="Elimina record selezionati" /> <input type="submit" name="Submit2" value="Modifica record selezionati" /> </form>'; // libero la memoria di PHP occupata dai record estratti con la SELECT mysql_free_result($result); // chiudo la connessione a MySQL mysql_close(); } function elimina_record($ids) { // verifico che almeno un id sia stato selezionato if(count($ids) < 1) { $messaggio = urlencode("Nessun record selezionato!"); header('location: '.$_SERVER['PHP_SELF'].'?msg='.$messaggio); exit; } // per precauzione converto gli ID in interi $ids = array_map('intval',$ids); // creo una lista di ID per la query $ids = implode(',',$ids); // preparo la query $query = "DELETE FROM utenti WHERE id IN ($ids)"; // invio la query $result = mysql_query($query); // controllo l'esito if (!$result) { die("Errore nella query $query: " . mysql_error()); } // conto il numero di record cancellati $num_record = mysql_affected_rows(); // chiudo la connessione a MySQL mysql_close(); $messaggio = urlencode("Numero record cancellati: $num_record"); header('location: '.$_SERVER['PHP_SELF'].'?msg='.$messaggio); } ?>
Grazie in anticipo per il vostro aiuto!!
Tiziano


Rispondi quotando