Keep values after refresh work on some but not the other why

Hi i have this form that when if user refresh should keep the values the user already entered but unfotunaly is working on some inputs and not others what i doing wrong

this one works

    <tr>
        <td class="form_field" valign='top' align='right'>Car Number </td><td width='10'  aligh='right' valign='top'> <font size='2' color='#ff0000'>*</font> </td>
        <td class="form_text">
<input type="text" name="car_number" class='text_box' id="message" value="<?php echo $_GET['car_number'];?>"/>

        </td>
    </tr>

this one doesnt whats wrong with this one

    <tr>
        <td class="form_field" valign='top' align='right'>Favourite Track </td><td width='10'  aligh='right' valign='top'></td>
        <td class="form_text">
<input type="text" name="favourite_track"  class='text_box' id="favourite_track" value="<?php echo $_GET['favourite_track'];?>"/>
        </td>
    </tr>

and how can i keep the values on a drop down list such as this one??

<?php
$months = array('','January','February','March','April','May','June','July','August','September','October','November','December');
echo '<select name="month_of_birth">';
for ($i=1;$i<13;++$i) {
   echo '<option value="' . sprintf("%02d",$i) . '">' . $months[$i] . '</option>';
}
echo '</select>';
echo '<select name="day_of_birth">';
for ($i=1;$i<32;++$i) {
   echo '<option value="' . sprintf("%02d",$i) . '">' . $i . '</option>';
}
echo '</select>';
echo '<select name="year_of_birth">';
$year = date("Y");
for ($i = $year;$i > $year-50;$i--) {
   $s = ($i == $year)?' selected':'';
   echo '<option value="' . $i . '" ' . $s . '>' . $i . '</option>';
}
echo '</select>';
?>