我希望使用PHP从3个下拉菜单(年,月和日)中获取所选项目的值, 我尝试了这个,但没有工作
<p><font size="6"> <b>TP3</b></font></p>
<p>
</p>
<table align="center" width="800" border="1" cellspacing="2" cellpadding="2">
<tr>
<td><p><?php echo "Date : " . date("Y/m/d") . "<br>";?></p><br/>
<?php $date = new DateTime();
$day = $date->format('d');
$month = $date->format('m');
$year = $date->format('Y'); ?>
<select name="day">
<option value="day" selected="selected">Day</option>
<?php
for($i=1; $i<=31; $i++)
{
printf('<option value="%d" %s>%d</option>', $i, $i == $day ? 'selected="selected"' : '', $i);
}
?>
</select>
<br>
<br>
<br>
<select name="month">
<option value="month" selected="selected">Month</option>
<?php
for($i=1; $i<=12; $i++)
{
echo "<option value=".$i.">".$i."</option>";
}
?>
</select>
<br>
<br>
<br>
<select name="years">
<option value="years" selected="selected">Years</option>
<?php
for($i=2000; $i<=2020; $i++)
{
echo "<option value=".$i.">".$i."</option>";
}
?>
</select>
<input type="submit" name="submit" value="Verify Date">
答案 0 :(得分:0)
首先,您缺少<form></form>
个标签( 这非常重要 )。
然后是一个方法(GET或POST),但我们将使用POST:method="post"
。
如果省略方法,则<form>
默认为GET,快速FYI 。
然后有动作(请参阅下面的下面的检查)。该操作确定您是否希望执行并在同一文件action=""
中显示从表单中提取的数据
或使用外部文件action="handler.php"
。
下面:
<p><font size="6"> <b>TP3</b></font></p>
<p>
</p>
<table align="center" width="800" border="1" cellspacing="2" cellpadding="2">
<tr>
<td><p><?php echo "Date : " . date("Y/m/d") . "<br>";?></p><br/>
<?php $date = new DateTime();
$day = $date->format('d');
$month = $date->format('m');
$year = $date->format('Y'); ?>
<form action="" method="post">
<select name="day">
<option value="day" selected="selected">Day</option>
<?php
for($i=1; $i<=31; $i++)
{
printf('<option value="%d" %s>%d</option>', $i, $i == $day ? 'selected="selected"' : '', $i);
}
?>
</select>
<br>
<br>
<br>
<select name="month">
<option value="month" selected="selected">Month</option>
<?php
for($i=1; $i<=12; $i++)
{
echo "<option value=".$i.">".$i."</option>";
}
?>
</select>
<br>
<br>
<br>
<select name="years">
<option value="years" selected="selected">Years</option>
<?php
for($i=2000; $i<=2020; $i++)
{
echo "<option value=".$i.">".$i."</option>";
}
?>
</select>
<input type="submit" name="submit" value="Verify Date">
</form>
另外,我不知道您希望使用哪种类型的行动,由您决定。
因此将action=""
更改为您要使用的文件处理程序。
I.e。:action="handler.php"
并从那里做你的魔法。
handler.php
的示例:并将生成例如Day: 14 Month: 10 Year: 2014
<?php
if(isset($_POST['submit'])){
$day = $_POST['day'];
$month = $_POST['month'];
$year = $_POST['years'];
echo "Day: " . $day . " ";
echo "Month: " . $month . " ";
echo "Year: " . $year;
}
?>
您可以将上述内容放在自己的文件中,或将其放在下面:
// rest of code from your form/code
<input type="submit" name="submit" value="Verify Date">
</form>
<?php
if(isset($_POST['submit'])){
$day = $_POST['day'];
// rest of code
我相信这已经回答了你的问题。
答案 1 :(得分:0)
首先,您需要添加<form action="action.php" method="post"></form>
标记,以便浏览器知道将数据发布到的位置。在你的&#34; action.php&#34;文件,您可以检索用户使用$_POST
数组提交表单时设置控件的值:
$day = $_POST['day'];
$month = $_POST['month'];
$year = $_POST['year'];
编辑:如果您希望使用GET方法而不是POST,则只需将$_POST
替换为$_GET
。
答案 2 :(得分:0)
Try it
<p><font size="6"> <b>TP3</b></font></p>
<p>
</p>
<table align="center" width="800" border="1" cellspacing="2" cellpadding="2">
<tr>
<td><p><?php echo "Date : " . date("Y/m/d") . "<br>";?></p><br/>
<?php $date = new DateTime();
$day = $date->format('d');
$month = $date->format('m');
$year = $date->format('Y'); ?>
<select name="day">
<option value="day" selected="selected">Day</option>
<?php
$i=1;
for($i=1; $i<=31; $i++)
{
printf('<option value="%d" %s>%d</option>', $i, $i == $day ? 'selected="selected"' : '', $i);
}
?>
</select>
<br>
<br>
<br>
<select name="month">
<option value="month" selected="selected">Month</option>
<?php
$i=1;
for($i=1; $i<=12; $i++)
{
echo "<option value=".$i.">".$i."</option>";
}
?>
</select>
<br>
<br>
<br>
<select name="years">
<option value="years" selected="selected">Years</option>
<?php
$i=2000;
for($i=2000; $i<=2020; $i++)
{
echo "<option value=".$i.">".$i."</option>";
}
?>
</select>
<input type="submit" name="submit" value="Verify Date">