Take just this much of the query (with added text at the end to illustrate):
$sql="INSERT INTO history (date, madeby, description) VALUES (" blah
You see, the double quote right there ended the string. In your query, after the double quote, you have another single quote. This starts a new string ... but then you have .$POST as if you were trying to concatenate the $POST data onto the end of a string piece.
What you need to do is reverse the order of the quotes:
$sql="INSERT INTO history (date, madeby, description) VALUES ('".$_POST['addate']."'
Now, the single quote comes before the double quote (which was used to delimit the string) so it will appear inside the query. Next there's the double quote which ends the string piece, a period (concatenation operator), and a variable. I reversed the order on the other side too: period (concatenate again), a double quote (to start a string piece), and a single quote (to appear inside the query itself). When written properly, you'll know - the syntax highlighting looks normal now.