2014-11-05 49 views
1

初学者在这里。我希望我的用户从选择菜单中选择要记住的选项。我有这个部分。但现在,它没有正确验证(之前是这样)。我该如何解决?您如何记住使用PHP的选择菜单中的用户选择?

这里是我的代码用于验证:

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

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

    if($_POST["color"] == 0) { 
     $errors[] = "Select a color option."; 
    } 

下面是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/> 

回答

4

我不知道它是如何工作之前,但你的病情将无法正常工作:

'sapphire' == 0 

例如evaluates to true

你可能想是这样的:

if (empty($_POST["color"])) { 

还要注意@ PLEASEWAIT的有关结束标记答案。

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> 
+0

该OP确实收到'?>',他们只是分手。注意''蓝宝石'和其他人'''在他们的最后? ':''; ?' - 编辑:就像你说的。对不起,漫长的一天 – 2014-11-05 02:52:49

2
 
//First make sure its not empty. 



> 123 
Etc... 

然后加入条件,每一个选项

等了所有选项。请记住,每个选项的xahge条件都是相同的。

请不要这么说,即使在我们的php.INI中禁用php短暂开启,也启用<?=

干杯

相关问题