Babu
Babu

Reputation: 79

Html selected issue with php

I have a html form. Following is my html code.

How do i selected civil status if user forgot to put other field information.

Ex: user select civil status, put first name but forgot to put last name. Then It's show a error message "Please select your last name". But when it's show the error message then selected item is empty. How do i selected the civil item with php.

<tr>
   <td width="400">Status</td>
   <td>
      <select name="civil_status">
         <option value="">Select..</option>
         <option value="mr.">Mr.</option>
         <option value="mrs.">Mrs.</option>
         <option value="miss">Miss</option>
      </select>
   </td>
</tr>
<tr>
   <td>Last Name</td>
   <td><input type="text" name="l_name" value="<?php if(isset($_POST['l_name'])) echo 
         $_POST['l_name']; ?>" class="tr2" /></td>
</tr>
<tr>
   <td>First Name</td>
   <td><input type="text" name="f_name" value="<?php if(isset($_POST['f_name'])) echo 
         $_POST['f_name']; ?>" class="tr2" /></td>
</tr>

Upvotes: 1

Views: 88

Answers (2)

bidifx
bidifx

Reputation: 1650

You just have to add an selected="selected"to the corresponding <option>-Tag. Something like:

<option value="">Select..</option>      
<option value="mr." selected="selected">Mr.</option>        
<option value="mrs.">Mrs.</option>
<option value="miss">Miss</option>

This of cause based on the value of $_POST['civil_status'].

EDIT: Quick and dirty:

<?php
if (isset($_POST['civil_status'])) $cs = $_POST['civil_status'];
else $cs = '';
?>
<option value="" <? if ($cs=='') echo 'selected="selected"'; ?>>Select..</option>      
<option value="mr." <? if ($cs=='mr.') echo 'selected="selected"'; ?>>Mr.</option>        
<option value="mrs." <? if ($cs=='mrs.') echo 'selected="selected"'; ?>>Mrs.</option>
<option value="miss" <? if ($cs=='miss') echo 'selected="selected"'; ?>>Miss</option>

Upvotes: 0

ajtrichards
ajtrichards

Reputation: 30565

I would do:

<select name="civil_status">
<option value="">Select..</option>

<?php

$options = array('mr.' => 'Mr.', 'mrs.' => 'Mrs.', 'miss' => 'Miss');

foreach($options as $key => $value){

    if($_POST['civil_status'] == $key){
        echo '<option value="'.$key.'" selected="selected">'.$value.'</option>';
    }else{
        echo '<option value="'.$key.'">'.$value.'</option>';
    }

}

?>

</select>

Upvotes: 3

Related Questions