Si usas comillas simples .. NO se interpreta el código .. osease tu $HTTP_POST_VARS[id] etc .. no toman su valor ...
Usa concatenación:
Código PHP:
$sql = "INSERT INTO noticia (id,titulo,noticia) VALUES ('','".$HTTP_POST_VARS['id']."','".$HTTP_POST_VARS['titulo']."',
".$HTTP_POST_VARS['noticia']."')";
(fijate como el coloreado de la sintax diferencia donde tenemos variables ..)
Los indices de arrays que sean asocitivas (es es caso) es recomendable usar comillas (simples o dobles) para que no puedan ser tomados como "constantes" (si no usas comillas).
Otro consejo .. NUNCA muestres mensajes de error/exito de un proceso en el mismo flujo del script (oseas, al terminar en tu caso el mysql_query() .. ) Si recargas la página accidentalmente verás como tu navegador te pide que si "puedo enviar las variables denuevo" si dices "ok" .. se ocasionaran registros duplicados en tu BD.
Redirecciona a otra página o a si mima pasanadole alguna variable de control...
Algo muy sencillo .. redireccionar a una página de "gracias" al terminar el proceso ...
Código PHP:
header("Location: gracias.html");
exit;
(NOTA: No tieens que usar nada de HTML en ese script .. o por lo menos no antes de <? (ni salto de línea ni espacios que son considerados como "envio de cabeceras")
Un saludo,