你如何记住使用PHP的选择菜单中的用户选择?

use*_*682 1 html php validation

初学者在这里.我希望我的用户选择从一个选择菜单中被记住.我把那部分放下了.但现在,它没有正确验证(以前).我该如何解决?

这是我的验证代码:

<?php
  $color = $_POST["color"];

  if(isset($_POST["submit"])) {

    if($_POST["color"] == 0) {
      $errors[] = "Select a color option.";
    }
Run Code Online (Sandbox Code Playgroud)

这是带有选择列表的HTML表单和用于记住选择的php:

<h3>MP5 Information</h3>
<span>Color:</span>
<select name="color"id="color">
  <option value="">- Select color -</option>
  <option value="sapphire"<?php echo $color == 'sapphire' ? 'selected="selected"' : ''; ?
  >>Sapphire</option>
  <option value="amethyst"<?php echo $color == 'amethyst' ? 'selected="selected"' : ''; ?
  >>Amethyst</option>
  <option value="rose"<?php echo $color == 'rose' ? 'selected="selected"' : ''; ?
  >>Rose</option>
  <option value="topaz"<?php echo $color == 'topaz' ? 'selected="selected"' : ''; ?
  >>Topaz</option>
</select>
<br/><br/>
Run Code Online (Sandbox Code Playgroud)

MH2*_*2K9 10

您的代码包含语法错误.PHP关闭标签应该是?>.你?和之间有一个新的界限>.首先修复它,也用括号括起条件.

<select name="color" id="color">
    <option value="">- Select color -</option>
    <option value="sapphire"<?php echo ($color == 'sapphire') ? 'selected="selected"' : ''; ?>>Sapphire</option>
    <option value="amethyst"<?php echo ($color == 'amethyst') ? 'selected="selected"' : ''; ?>>Amethyst</option>
    <option value="rose"<?php echo ($color == 'rose') ? 'selected="selected"' : ''; ?>>Rose</option>
    <option value="topaz"<?php echo ($color == 'topaz') ? 'selected="selected"' : ''; ?>>Topaz</option>
</select>
Run Code Online (Sandbox Code Playgroud)