Nessun mistero.... ti inserisce solo i valori numerici perche' le stringhe le passi senza apici.

dovresti pure beccare l'errore...

... VALUES($year, $month, $day, '$news', '$author')";

mysql_query($insert) or die (mysql_error());