antes de modificar podrias imprimir todas tus variables para ver si estan llegando sobre todo el id que deberia enviarse por POST en el caso del WHERE que no lo veo...
bueno prueba
Código PHP:
<?php
mysql_query(" UPDATE noticia SET nombre = '$_POST[nombre]', fecha = '$_POST[fecha]'"
." WHERE id= '$_POST[id]'") or die ("Error ".mysql_error());
//....