ok, it works now, butfor year its just putting the letter two in the database it suppost to be 02, and it prints 02 on the preview page @months = qw(January Febuary March April May June July August Septemb +er October November December); @hours = qw(1 2 3 4 5 6 7 8 9 10 11 12 1 2 3 4 5 6 7 8 9 10 11 12); $time = ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = local +time(time); $year += 1900; $year = sprintf("%02d", $year % 100); $new = $lastnumber + 1; if($hour > 12) { $AP = "PM"; } else { $AP = "AM"; } print "

Your news has been added

Preview

$months[$mon] $mday $year at @hours[$hour]:$min $AP +($user)

",param("title"),"
",param("des"),"

"; $sth = $dbh->prepare("INSERT INTO news(username, month, day, hour, mi +n, AP, title, description, year) VALUES ('$user', '$months[$mon]', '$ +mday', '$hours[$hour]', '$min', '$AP', ?, ?, '$year')"); $sth->execute(param("title"), param("des")) or die $dbh->errstr;