2011-03-10 112 views
1

我有兩個頁面。一個選擇框和發送按鈕。當用戶從選擇框中選擇他們的選項並點擊發送時,它將把它們帶到輸出其選擇的第二頁面。無法使用PHP從一個頁面獲取信息到另一個頁面

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的頁面它不顯示用戶選擇的內容。任何幫助?

我在哪裏錯了?

+0

一分鐘內五個相同的答案。尼斯:D –

+0

@Stephan:是的,太棒了! –

+0

你是否設法解決了這個問題? –

回答

2

您應該將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>
2

這是需要的月/日/年的name屬性,而不是他們的孩子選擇你的<select>元素:

<select name="month"> 
    ... 
</select> 
2

name屬性應該是select元素,而不是它們的option s。

2

你需要指定name屬性<select>元素,而不是<option>上,像這樣:

<select name="day"> 
2

name屬性那張select,不是每一個人option

相關問題