初学者。我希望我的用户选择能够记住选择菜单。我把那部分放下了。但现在,它没有正确验证(以前)。我该如何解决这个问题?
以下是我验证的代码:
<?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/>
答案 0 :(得分: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>
答案 1 :(得分:4)
我不确定它之前是如何工作的,但你的情况不会起作用:
'sapphire' == 0
您可能需要以下内容:
if (empty($_POST["color"])) {
还请注意@ PleaseWait关于结束标签的回答。
答案 2 :(得分:2)
//First make sure its not empty. > 123 Etc...
然后为每个选项添加条件
等等所有选项。请记住将xahge条件设置为每个选项的相同值。
请注意,即使在我们的php.INI中禁用了php短暂打开,<?=
也已启用。
干杯