Не могу получить информацию с одной страницы на другую, используя PHP - PullRequest
1 голос
/ 10 марта 2011

У меня две страницы.Один с полями выбора и кнопкой отправки.Когда пользователь выбирает свои параметры в полях выбора и нажимает кнопку «Отправить», он переносит их на вторую страницу, где выводятся их варианты выбора.

date_change.php

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link href="style.css" rel="stylesheet" type="text/css" media="screen" />

</head>

<body>
<?php
$day = array(range(1,31));
$month = array(range(1,12));
$year = array(range(2011,2020));
?>
<form action="test.php" method="post">
Day:
<select >
  <?php foreach($day[0]++ as $key => $value) { ?>
    <option value="<?php echo $key ?>" name="day"><?php echo $value ?></option>
  <?php }?>
</select>
<br>
Month:
<select>
  <?php foreach($month[0]++ as $key => $value) { ?>
    <option value="<?php echo $key ?>" name="month"><?php echo $value ?></option>
  <?php }?>
</select>
<br>
Year:
<select>
  <?php foreach($year[0]++ as $key => $value) { ?>
    <option value="<?php echo $key ?>" name="year"><?php echo $value ?></option>
  <?php }?>
</select>
<input type='submit' value='send' name='send' />
</form>


</body>
</html>

Как только пользователь делает свой выбор и отправляет клики, он отправляет его в test.php:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link href="style.css" rel="stylesheet" type="text/css" media="screen" />

</head>

<body>

Date Selected: <?php echo $_POST["day"];echo $_POST["month"];echo $_POST["year"]; ?>

</body>
</html>

Однако, несмотря на то, что это происходитна страницу test.php он не показывает, что выбрал пользователь.Любая помощь?

где я иду не так?

Ответы [ 5 ]

2 голосов
/ 10 марта 2011

Атрибут name идет на select, а не на каждого отдельного option.

2 голосов
/ 10 марта 2011

Вам необходимо указать атрибут name для элемента <select>, а не <option>, например:

<select name="day">
2 голосов
/ 10 марта 2011

Для ваших <select> элементов требуются атрибуты имени месяца / дня / года, а не их дочерние параметры:

<select name="month">
  ...
</select>
2 голосов
/ 10 марта 2011

Ваши атрибуты name должны быть на элементах select, а не на их option s.

2 голосов
/ 10 марта 2011

Вы должны добавить атрибут name к своим тегам <select> вместо тегов <option>.

Кроме того, вы должны изменить <br> на <br /> для действительного кода XHTML.

Измените свой код на:

Day:
<select name="day">
  <?php foreach($day[0]++ as $key => $value) { ?>
    <option value="<?php echo $key; ?>"><?php echo $value; ?></option>
  <?php } ?>
</select>
<br />
Month:
<select name="month">
  <?php foreach($month[0]++ as $key => $value) { ?>
    <option value="<?php echo $key; ?>"><?php echo $value; ?></option>
  <?php } ?>
</select>
<br />
Year:
<select name="year">
  <?php foreach($year[0]++ as $key => $value) { ?>
    <option value="<?php echo $key; ?>"><?php echo $value; ?></option>
  <?php } ?>
</select>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...