我做错了什么?我希望能够在下拉菜单中选择一年并设置一个等于该年份的变量。否则,如果没有选择任何内容,变量应该是当前年份。
FindItem
答案 0 :(得分:0)
If($_POST['Submit'])
{
$aarstal=$_POST['aarstal'];
If (strlen($aarstal) ==0)
{
$aarstal=date("Y");
}
}
答案 1 :(得分:0)
您的所有选项都有空值
<option value="">2017</option>
您需要将值更改为实际值或删除任何会导致值的内部内容作为值传递的属性:
<option value="2017">2017</option>
或
<option>2017</option>
答案 2 :(得分:0)
PHP代码应该是这样,注意:你到处都有拼写错误,例如你的IF语句应该以小写字母开头,
<?php
if($_POST['Submit']) {
$aarstal = $_POST['aarstal'];
echo "found value = " . $aarstal;
var_dump($aarstal);
} else {
$aarstal = date("Y");
echo "default year";
var_dump($aarstal);
}
?>
你也有你的带有错别字等的HTML正确的应该是这个
<form action="" method="post" id="form">
<table style="border:none;">
<tr>
<td style="border:none;"></td>
<tr>
<td><?php echo $aarstal ?></td>
</tr>
<tr>
<select name="aarstal">
<option value="<?php echo $aarstal ?>">
<?php echo $aarstal ?>
</option>
<!-- <option value="">2017</option> -->
<option value="2016">2016</option>
<option value="2015">2015</option>
</tr>
<tr>
<td style="border:none;">
<input type="submit" name="Submit" id="formsubmit" value="Opdater">
</td>
</tr>
</table>
</form>
由于你的逻辑是正确的,但遗憾的是错误很多,这实际上并不是你的计划不起作用的原因。您错过的要点是在选项标签中写入值属性,如此
<option value="<?php echo $aarstal ?>">
同样适用于其他选项值属性。
希望这有帮助。
答案 3 :(得分:0)
试试这个:
$aarstal = '';//ignore this line if this value can be pass from another function
If(isset($_POST['Submit'])){
$aarstal=$_POST['aarstal'];
If ($aarstal == ''){
$aarstal=date("Y");
}
}