Ciao a tutti, sono nuova del form. Ho bisogno del vostro aiuto per risolvere un problema con php. Ho dovuto creare un form dinamico, costituito da un menu a tendina. Questo perchè nella pagina a cui vado una volta selezionata la cantina, devo fare delle interrogazioni al database da visualizzare poi all'utente. Il problema si presenta nella pagina in cui richiamo il risultato del form. Vi posto il codice, per maggiore chiarezza.
Nella pagina index.php creo il menu a tendina
Nella pagina catalogo2.php faccio:
e mi da errore: undefined variable cantina
Ho provato a mettere id_cantina, nome_cantina ma mi dà lo stesso errore.
Ho provato anche a usare, al posto di extract($_POST), $cant=$_POST["id_cantina"]; ma mi dà errore di indice.
Ho provato anche a togliere l'hidden dal menu, ma l'errore non cambia.
Non riesco a capire dove sbaglio. Ho sempre richiamato in questo modo i form inviati tramite post.
Se potete aiutarmi, mi fate un grande favore. Grazie
Nella pagina index.php creo il menu a tendina
PHP:
<form metod="post" action="catalogo2.php">
<p align="left"> cantina:
<select name="cantina">
<?php
$query = "SELECT idcantina, nomecantina FROM cantina ORDER BY nomecantina");
$ris=mysql_query($query, $db) or die('Query non eseguibile' .mysql_error());
while ($risultato = mysql_fetch_array($ris)) {
$id_cantina = $risultato["idcantina"];
$nome_cantina = $risultato["nomecantina"];
echo "<option value='$id_cantina'>$nome_cantina</option>\n"; } ?>
</select>
<input type="submit" value=">" />
<?php print("<input type=\"hidden\" name=\"id_cantina\" value=\"$id_cantina\">"); ?>
</p> </form>
Nella pagina catalogo2.php faccio:
PHP:
extract($_POST);
$db=mysql_connect('localhost','root','') or die('Connessione al server fallita ' . mysql_error()); //mysql_error():restituisce il tipo di errore del db
mysql_select_db('enoteca',$db) or die('Database accesso non apribile ' . mysql_error());
?>
...
<body>
<p> cantina vale: <?php print("$cantina");?> </p>
</body>
Ho provato a mettere id_cantina, nome_cantina ma mi dà lo stesso errore.
Ho provato anche a usare, al posto di extract($_POST), $cant=$_POST["id_cantina"]; ma mi dà errore di indice.
Ho provato anche a togliere l'hidden dal menu, ma l'errore non cambia.
Non riesco a capire dove sbaglio. Ho sempre richiamato in questo modo i form inviati tramite post.
Se potete aiutarmi, mi fate un grande favore. Grazie
Ultima modifica di un moderatore: