Ok, here's a big chunk of your code, starting at the form tag. I don't know why you keep putting that hidden input back. You don't need it, provided that the calendar input is called d1. If you add a second input with the same name, you will eliminate the correct value, and you'll never get the date from the calendar input.
<form name="showdraw" action="ooo.php" method="post">
<tr bgcolor="#FF6600">
<td><script> DateInput('cdate', true, 'YYYY-MM-DD'); </script></td>
<td> <input type="submit" value ="Show"> </td>
</tr>
<tr bgcolor="#FF6600">
<td><font color="#2F4F4F"><h2>Draw Time</h2></font></td>
<td><font color="#2F4F4F"><h2>Wining Number</h2></font></td>
</tr>
</form>
<tbody>
<?php
include('connect.php');
if (isset($_GET["d1"])) {
$d1= $_GET["d1"];
} else {
$d1=date('YYYY-MM-DD');
}
$result = $db->prepare("SELECT * FROM birthday WHERE date = :a");
$result->bindParam(':a', $d1);
$result->execute();
while($row = $result->fetchAll()){
?>
<tr class="record">
<tr bgcolor="#EEF3E2">
<td><font size="5"><font color="#008B00"><?php echo $row['dt']; ?></font></td>
<td><font size="5"><font color="#008B00"><?php echo $row['wn']; ?></font></td>
</tr>
<?php } ?>
</tbody>
</table>
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…