Supponi di avere nel tuo form un campo hidden "invia"
codice:
<form name="mioform" id="mioform" method="post" action="miapaginachericeveidati.php">
<input type="hidden" value="vero" name="invia" id="invia"/>
...
...
</form>
Questo campo sarà inviato assieme al form al submit, ok?
Ora aggiungi del codice al javascript che fa il refresh della pagina quando selezioni dal menù a tendina in modo da svuotare il campo prima del submit.
Il codice js che svuota il valore del campo invia è
codice:
document.getElementById('invia').value = '';
Se usi framework js come mootools o jquery ovviamente provvedi a correggere il codice precedente.
A questo punto, con il js aggiornato, ad ogni submit da menù a tendina il campo invia arriva al server vuoto, mentre al submit utente (attraverso il pulsante submit indendo) il campo invia arriva pieno.
Nella tua pagina di ricezione dati basterà aggiungere questo codice
Codice PHP:
// Se il valore del parametro post invia vale 'vero'
if(isset($_POST["invia"]) && $_POST["invia"] == 'vero') {
// Dati inviati da utente -> devo fare il mio lavoro
} else {
// Dati inviati da menù a tendina -> non devo fare il mio lavoro
}
Spero sia tutto più o meno chiaro.
Ciao