Я хочу получить значения выбранных элементов из 3 выпадающих меню (годы, месяц и день), используя 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'); ?>
<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="action.php" method="post"></form>
теги, чтобы браузер знал, где размещать данные. В вашем файле «action.php» вы можете получить значения, которые пользователь установил для элементов управления при отправке формы, используя $_POST
массив:
$day = $_POST['day'];
$month = $_POST['month'];
$year = $_POST['year'];
РЕДАКТИРОВАТЬ: Если вы хотите использовать метод GET вместо POST, просто замените $_POST
с $_GET
,
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">
Во-первых, ты скучаешь <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=""
к обработчику файлов, который вы хотите использовать.
т.е .: 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
Я считаю, что это ответило на ваш вопрос.