在回发上保留下拉选择会创建空选项

时间:2013-04-28 17:53:30

标签: php

我希望在提交表单后保留用户下拉选项,但是,因为我添加了代码来执行此操作,所以它在我的下拉列表中创建了空选项(甚至在提交任何内容之前)。发生了什么,我该如何纠正它?非常感谢任何帮助。

$sals = array('Mr','Mrs','Miss','Dr');

<label>Salutation: </label>
<select name='mysal'> 

<?php
foreach ($sals as $sal) {
echo "<option value='$sal'"; 
if($sal == @$sal_conf) echo 'SELECTED'; 
echo ">".$sal."<option />";                     
}
?>

如果按下提交按钮(此处省略):

if (isset($_POST['submit']))
{
$sal_conf = $_POST['mysal'];
}

打开下拉列表看起来像这样

  

先生

     

     

小姐

     

博士

每个选项后都有一个空的选择。

2 个答案:

答案 0 :(得分:1)

试一试。

<?php
foreach ($sals as $sal) {
  $selected = ($sal == $sal_conf) ? ' SELECTED' : ''; 
  echo '<option value="'.$sal.'"'.$selected.'>'.$sal.'</option>';                     
}
?>

答案 1 :(得分:0)

您尚未关闭

   <option></option>

当我使用内联变量而不是在使用双引号时关闭字符串时,我发现使用花括号{}更清晰。

    foreach($sals as $sal){
     echo "<option value={$sal}";
     if($sal == @$sal_conf) {echo  "SELECTED "; }
    echo " >{$sal}<option />";  
    }