Ciao,
nella update dopo
$citta
manca l'apice e quindi la updati fallisce dando errore

però il vero errore non è quello, ma è questo:
Codice PHP:
 mysql_query("UPDATE....") or die(mysql_error()); 
Non serve a niente mettere quell or die( )
se non metti un echo dentro:

Codice PHP:
 mysql_query("UPDATE....") or die(echo mysql_error()); 
Così ti avrebbe stampato "mysql syntax error balbalabla vicino a ...."
e ti saresti subito accorto che mancava un apice dopo $citta