Prova a fare così (che a mio parere è più pulito):
Codice PHP:
$sql "UPDATE comunicati SET autore = '".$_POST[autore]."', titolo = '".$_POST[titolo]."', messaggio = '".$_POST[messaggio]."' WHERE id = '".$_GET["id"]."'"
l'errore probabilmente te lo da per via del GET che se vai in action in un'altra pagina non rimane quindi o te lo salvi in $_SESSION["get"]; (e quindi devi anche modificare la query mettendo al posto di GET SESSION) e provi a vedere se funzia oppure vediamo cosa fare