Ciao,
Io avevo un problema simile al tuo per certi versi, nel senso che nel mio sito ho inserito un guestbook e volevo da una parte impedire che un utente lasciasse messaggi senza compilare tutti i campi del form, dall'altra volevo impedire che un utente già presente nel mio database lasciasse ulteriori messaggi.
La seconda parte della questione è adattabile alla tua richiesta. Qui ti indico la parte di codice inerente a questo:
Codice PHP:
function elabora_guest_locale(){ // inizio function
// cerco se l'utente ha già scritto dei messaggi
$ricerca = mysql_query("select messaggio from messaggi where nome_utente = '" . htmlspecialchars($_POST['nome_utente']) . "' limit 1");
// se la query restituisce righe, allora l'utente ha già scritto in database
if (mysql_num_rows($ricerca) ) {
echo "<div class=\"h2\">Devi scegliere un altro nickname! Quello da te inserito è già presente nel database...usa un altro nick,ciao.</div> <br /><div class=\"centra\"><a href=\"nuovo_guest.php?azione=inserisci\">Torna indietro e scegli un altro nome</a></div>
<br /><br /><br /><br /><br /> ";
}
Come vedi io ho usato una funzione da me creata che poi attivo alla fine dello script con uno switch ovvero in questo modo:
Codice PHP:
switch($_GET['azione']){
case "inserisci":
modulo_guest_locale();
break;
case "elabora":
elabora_guest_locale();
break;
case "leggi":
read_guest();
break;
}//switch sulla variabile "azione" passata nella url
Penso che questo ti possa aiutare, almeno per questo problema. Se qualcun altro ci aiuta, penso si possa risolvere anche il resto.
Ciao.