选择标记中的粘性形式

时间:2012-03-25 02:26:10

标签: php html html-select sticky

我的选择选项粘性表单有问题。这是我的书中所说的代码:

<?php
if(isset($_POST['submit']))
{
    echo ' thanks! ';
    $submit = $_POST['year'];
}
?>
<form action="" method="post">
<?php
$y = range(1920, 1950);
echo '<select name="year">';
for ($y = 2008; $y <= 2018; $y++) {
echo "<option value=\"$y\";
if ($year == $y) {
echo ' selected="selected"';
}
echo ">$y</option>\n";
}
echo '</select>';
?>
<input type="submit" name="submit" value="SUbmit"/>
</form>

3 个答案:

答案 0 :(得分:1)

嘿,你在代码中犯了几个错误: 您应该更改以下代码

$ submit = $ _POST ['year']; =&GT; $ year = $ _POST ['year'];  而你忘了关闭这一行中的字符串:  回声“回声”

工作代码是

<?php
if(isset($_POST['submit']))
{ 
   echo ' thanks! ';
   $year = $_POST['year'];
}
?>

<form action="" method="post">
<?php
   $y = range(1920, 1950);
   echo '<select name="year">';
   for ($y = 2008; $y <= 2018; $y++) {
     echo "<option value=\"$y\"";
     if ($year == $y) {
       echo ' selected="selected"';
     }
     echo ">$y</option>\n";
   }
   echo '</select>';
?>
<input type="submit" name="submit" value="SUbmit"/>
</form>

答案 1 :(得分:0)

您的表单目标丢失了。看看这里:

<form action="" method="POST">

“action”属性定义了要处理表单数据的下一页。

编辑:粘性;你应该做这样的选择

for($i=1;$i<10;$i++){
  echo "<option value='".$i."' ".(($_POST["i"]==$i)?"selected":"").">".$i."</option>";
}

答案 2 :(得分:0)

你忘了关闭第13行的字符串:你还要将年份设置为变量“$ submit”,然后检查变量“$ year”。这两个应该具有相同的名称:

<?php
if(isset($_POST['submit']))
{
    echo ' thanks! ';
    $year = $_POST['year'];
}
?>
<form action="" method="post">
<?php
$y = range(1920, 1950);
echo '<select name="year">';
for ($y = 2008; $y <= 2018; $y++) {
echo "<option value=\"$y\"";
if ($year == $y) {
echo ' selected="selected"';
}
echo ">$y</option>\n";
}
echo '</select>';
?>
<input type="submit" name="submit" value="SUbmit"/>
</form>