Salve raga. Ho un problema con il controllo di una select. Il codice che ho usato è questo:
codice:
<select name="materiale">
<?php
$query = "SELECT `id`,`nome` FROM `catalogo_materiali` ORDER BY `nome`";
$result = mysql_query($query,$db);
if (mysql_num_rows($result) == 0)
{
echo "<option>Nessun materiale</option>";
}
else
{
echo "<option>Seleziona</option>";
while ($row = mysql_fetch_array($result))
{
if (isset($materiale))
{
echo "<option";
if ($row['id'] == $materiale)
{
echo " selected";
}
echo " value=$row[id]>$row[nome]</option>\n";
}
else
{
echo "<option value=$row[id]>$row[nome]</option>\n";
}
}
}
?>
</select>
Come vedete all'inizio del select stampa un option senza value. Ora io uso questo codice per vedere se è stato settato qualcosa nel select o se è rimasto selezionato su "seleziona"
codice:
if (isset($HTTP_POST_VARS['materiale']) && !empty($HTTP_POST_VARS['materiale']))
{
$materiale = "$HTTP_POST_VARS[materiale]";
}
else
{
$err_materiale = 'ERRORE: Deve essere selezionato un materiale';
}
Credo di aver sbagliato qualcosa nel controllo! Alla fine se rimane selezionato "seleziona" non c'è value quindi la variabile non è settata! Perchè non funziona?