ciao a tutti ragazzi, visto scrivendo perche ho un problemino con il method post di php, non è la prima volta che faccio script di questo genere ma stavolta non riesco prorpio a venirne a capo!
comunque il problema riguarda un piccolo motore di ricerca che interroga un server slq, in base alla scelta delle opzioni dovrei avere i record tutti formattati in una tabella.praticamente mi sono reso conto che nel form non passa i valori alla query che poi interrogherà il db. Sinceramente mi sembra strano perche strutturalmente è un semplicissimo form e invece niente. Di seguito vi posto il codice in modo tale che possiate comprendere e magari aiutarmi in questa piccola odissea. Grazie in anticipo!
codice:<?php $dbconn = @mysql_connect('localhost' , 'root' , 'xxxx') or die("Errore nella connessione al database :" .mysql_error()); if(!$dbconn) echo('connessione non stabilita'); mysql_select_db('cap'); //ricerca per codice $cod = @mysql_query("select * from magazzino"); if(!$cod) exit(' impossibile cercare per codice produttore </p>'); //ricerca per tipo $tipo = @mysql_query("select * from magazzino"); if(!$tipo) exit(' Impossibile ricercare per tipo </p>'); ?> <h1 align="center"> Gestione Magazzino </h1> <form action="<?php $_SERVER['PHP_SELF'] ; ?>" method="post" > <label> Seleziona il codice del pezzo da cercare: <select name="codice" size="1"> <option selected value=" "> Tutti i Codici </option> <?php while($codice=mysql_fetch_array($cod)){ $c = $codice['cproduttore']; echo "<option value='$c'> $c </option> \n";} ?> </select> </label> <label> Seleziona il nome del pezzo da cercare <select name="nome" size="1"> <option selected value= " "> Tutti i Tipi </option> <?php while($tip=mysql_fetch_array($tipo)){ $t=$tip['nome']; echo "<option value='$t'> $t </option> \n" ; } ?> </select> </label> <label> <input type="submit" value="Search" /> </label> </form> <?php //Select di base $selectfrom = "select cproduttore,produttore,nome,descrizione,quantita from magazzino "; $where = ' where 1=1'; $codice= $_POST['c']; if($codice!= " " ) { //è stato scelto un codice $where .= " AND cproduttore= '$codice' "; } $nome = $_POST['t']; if($nome!= " ") { // un tipo è stato selezionato $were .= "AND nome = '$nome' "; } //interrogazione del database $res = mysql_query( $selectfrom . $where ); if(!$res) exit(' Errore nella query di ricerca dinamica </p>'); echo'<table border="1px">'; echo'<tr><td> Codice Produttore </td><td> Produttore </td><td> Nome </td><td> Descrizione </td><td> Quantità </td></tr>'; while ($pezzo = mysql_fetch_array($res)){ echo'<tr><td>' . $pezzo['cproduttore'] . '</td><td>' . $pezzo['produttore'] . '</td><td>' . $pezzo['nome'] . '</td><td>' . $pezzo['descrizione'] . '</td><td>' . $pezzo['quantita'] . '</td></tr>' ; } echo'</table>'; ?>

praticamente mi sono reso conto che nel form non passa i valori alla query che poi interrogherà il db. Sinceramente mi sembra strano perche strutturalmente è un semplicissimo form e invece niente. Di seguito vi posto il codice in modo tale che possiate comprendere e magari aiutarmi in questa piccola odissea. Grazie in anticipo! 
Rispondi quotando