ciao, ho una select che quando scelgo una delle voci del menu mi tira fuori a fondo pagina i dati relativi a quella voce, poi col pulsante invia clicco e invio i dati nel db, il problema è che dopo aver scelto la voce della select e che mi ha visualizzato i dati di quella voce, mi invia i dati nel db anche se faccio refresh della pagina, si può evitare questo?
Codice PHP:
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="get">
<table width="650" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="650" valign="top">
<select name="corso" onchange="this.form.submit()">
<option value="">seleziona corso</option>
<?php
//compila dinamicamente la select
while($row = mysql_fetch_object($sql)) {
if ($row->id_corsi==$_GET[corso]){ $sel="SELECTED";}ELSE{$sel="";}
echo "<option value=\"$row->id_corsi\" $sel>$row->nome_corso</option>\n";
}
echo "</select>\n";
//verifica se è stato passato o meno un valore dalla select
if(isset($_GET['corso'])) {
//memorizza il valore passato dalla select (l'id del corso)
$IDcorso = $_GET['corso'];
//recupera il nome del corso scelto tramite $IDcorso
$corso = mysql_query("SELECT a_corsi.*, a_creacorsi.*
FROM a_corsi, a_creacorsi
WHERE a_creacorsi.id_corsi = '$IDcorso' AND a_creacorsi.id_corsi = a_corsi.id_corsi") or die(mysql_error());
//recupera tutte le materie relative ad un corso specifico tramite $IDcorso
$sql = mysql_query("SELECT a_materie.*, a_corsi.*, a_corsi_materie2.*
FROM a_materie, a_corsi, a_corsi_materie2
WHERE a_corsi_materie2.id_corsi = '$IDcorso' AND a_corsi_materie2.id_corsi = a_corsi.id_corsi AND a_corsi_materie2.id_materie = a_materie.id_materie
ORDER BY a_materie.nome_materia") or die(mysql_error());
//verifica che ci sia almeno un risultato valido per la query precedente
if(mysql_num_rows($sql) >= 1) {
//stampa il nome del corso
$row1 = mysql_fetch_object($corso);
echo "<table width=\"650\" border=\"0\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\">
<tr><td height=\"12\" colspan=\"2\"></td></tr>
<tr><td height=\"20\" colspan=\"2\"><span class=\"testo_viola_bold\">Materie del corso $row1->nome_corso svolto a $row1->luogo_corso dal $row1->data1_corso al $row1->data2_corso</span></td></tr>
<tr><td height=\"1\" bgcolor=\"BF9BB5\" colspan=\"2\"></td></tr>\n";
//stampa tutte le materie del corso scelto
while($row2 = mysql_fetch_object($sql)) {
echo "<tr><td height=\"41\" align=\"left\"><span class=\"testo_grigio_bold\">$row2->nome_materia</span></td><td align=\"right\">
<select name=\"$row2->id_materie\">
<OPTION VALUE=\"\">seleziona il voto</OPTION>
<OPTION VALUE=\"1\">1/10</OPTION>
<OPTION VALUE=\"2\">2/10</OPTION>
<OPTION VALUE=\"3\">3/10</OPTION>
<OPTION VALUE=\"4\">4/10</OPTION>
<OPTION VALUE=\"5\">5/10</OPTION>
<OPTION VALUE=\"6\">6/10</OPTION>
<OPTION VALUE=\"7\">7/10</OPTION>
<OPTION VALUE=\"8\">8/10</OPTION>
<OPTION VALUE=\"9\">9/10</OPTION>
<OPTION VALUE=\"10\">10/10</OPTION>
</select>
</td></tr><tr><td height=\"1\" bgcolor=\"BF9BB5\"></td><td bgcolor=\"BF9BB5\"></td></tr>\n";
}
echo "</table>\n";
} else {
echo '<span class="testo_viola_bold">non ci sono materie per il corso selezionato</span>';
}
}
?>
</td>
</tr>
<tr>
<td height="41">
<select name="allievo">
<option value="" selected="selected">seleziona allievo</option>
<?php
//compila dinamicamente la select
while($row = mysql_fetch_object($sql2)) {
echo "<option value=\"$row->id_allievi\">$row->cognome</option>\n";
}
echo "</select>\n";
?>
<input type="hidden" name="riga" value="1"><input type="submit" class="pulsante" value="inserisci">
</td>
</tr>
</table>
</form>