开发者

I'm populating a form using PHP, how do I make the select list sticky?

I am using the code below to populate a select list from fields in a db and it works great, the problem is how do I make it sticky? if the user types in the wrong info the page reloads and it does not remember what was selected from the list.

I have tried a few different if statements but i couldn't get it working. The list populates with 15 customer names, what would be the best way to tackle this? Thanks

<fieldset>
        <legend><b>Check to see how many times a user has logged in</b></legend>
        <p><label for="fname">First Name:</label><input type="text" id="fname" name="fname" value="<?php if (!empty($fname)) echo $fname; ?>" /></p>
      <p><label for="ln开发者_高级运维ame">Last Name:</label><input type="text" id="lname" name="lname" value="<?php if (!empty($lname)) echo $lname; ?>" /></p>
      <p><label for="customer">Customers:</label>
          <select name="customer">
                <?php
                    $custNames = getCustomers();
                    foreach($custNames as $customers){
                        echo '<option value="' . $customers . '">' . $customers . '</option>';
                    }
                ?>
            </select>
        </p>
      <p class="submit"><input type="submit" value="See Logins" name="submit" /></p>
  </fieldset>


You need an if statement which prints a selected attribute to the chosen element.

For example:

<?php
$custNames = getCustomers();
foreach($custNames as $customers){
  $extra = '';
  if($_POST['customer'] == $customers) {
    $extra = 'selected="selected"';
  }
  echo '<option value="' . $customers . '" ' . $extra . '>' . $customers . '</option>';
}
?>


I'd say use cookies or store that information as session data. And then use the code posted by Emil Vikström above.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜