When you are composing the SQL query in php you need to submit the date as a string. I cannot tell from your code what you are getting from $_POST['date'],
Let's consider two cases:
1) You're submitting a php datetime object: this would possibly crash your code as for a great many purposes it must first be formatted to be of any use. Since you did insert a row, this is probably not what your doing.
2) the value is in some sort of date format (yyyy-mm-dd, for example) - but you've no single quotes around the value.
(2) seems more like your problem, at least for a start.
Change query to:
<br />
INSERT INTO otn (e_no,grade,ccn_code,otn_days,otn_hrs)<br />
values($e_no,$grade,$ccn_code,'$otn_days',$otn_hrs)<br />