This is how you should do the INPUT: it's like you have it, but you really should escape the user-provided content with htmlentities (or htmlspecialchars, etc.) in case they had quotes, brackets, etc. in the text that would be interpreted as HTML characters by the browser. That's just good practice.
<input type="text" name="name" id="name" size="30"
value="<?php if ($errors) { echo $name; } ?>" />
This is how you should do the TEXTAREA: put the content between the textarea open/close tags. And make sure to escape it properly too.
<textarea name="message" id="message" rows="10" cols="40"
><?php if ($errors) { echo htmlentities($message); } ?></textarea>
This is how you might handle the SELECT tag. I've spaced out the code for readability so you can understand what's going on. Basically you just have to output selected="selected"
in the OPTION element you want to be selected.
<select>
<option value = "val1"
<?php if ($error && ($selval=="val1")) { echo 'selected="selected"'; } ?>
>
Option Label 1
</option>
<option value = "val2"
<?php if ($error && ($selval=="val2")) { echo 'selected="selected"'; } ?>
>
Option Label 2
</option>
... (additional <option> tags here) ...
</select>