这里的初学者。我希望我的用户选择从选择菜单被记住。我把那部分写下来了。但现在,它并没有正确地验证(以前的情况)。我该怎么解决这个问题?
下面是我的验证代码:
<?php
$color = $_POST["color"];
if(isset($_POST["submit"])) {
if($_POST["color"] == 0) {
$errors[] = "Select a color option.";
}下面是带有select列表的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/>发布于 2014-11-05 02:39:00
我不知道它以前是如何工作的,但你的情况不会起作用:
'sapphire' == 0例如,true。
你可能想要这样的东西:
if (empty($_POST["color"])) {还请注意@PleaseWait关于结束标签的答复。
发布于 2014-11-05 02:32:44
代码包含语法错误。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>https://stackoverflow.com/questions/26748768
复制相似问题