2011-03-10 17 views
1

私は2ページあります。 1つは選択ボックスをオンにし、もう1つは送信ボタンで選択します。ユーザが選択ボックスから選択肢を選択して送信すると、選択肢を出力する第2のページにそれらが送られます。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

1分以内に5つの同一の回答。ニース:D –

+0

@Stephan:そうですね! –

+0

問題を解決できましたか? –

答えて

2

<option>タグの代わりに<select>タグにname属性を追加する必要があります。

また、XHTMLの有効なコードでは<br><br />に変更する必要があります。

変更しますコードに:

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

これは、月/日/年の名がない彼らの子供のオプション、属性必要あなたの<select>要素でありますselect要素ではなく、optionです。あなたはこのように、<option><select>要素にname属性を指定する必要がない

2

あなたname属性は、上のようになります。

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なく、個々のoptionになります。

関連する問題