アプリ版:「スタンプのみでお礼する」機能のリリースについて

b.phpの

<dl>
<form action='a.php' method='post'>
<dt>生年月日</dt>

<dd>
<select name="Y">

<?php

$start = 1920; //始まりの年

$end = 2020; //終わりの年

$select = 2000; //最初に選択された状態で表示したい年

for ($i=$start;$i<=$end;$i++){

if($i==$select){

echo "<option value=\"$i\" selected=\"selected\">$i</option>\n";

}else{

echo "<option value=\"$i\">$i</option>\n";

}

}

?>

</select> 年

<select name="M">

<?php

for ($i=1;$i<=12;$i++){

echo "<option value=\"$i\">$i</option>\n";

}

?>

</select> 月

<select name="D">

<?php

for ($i=1;$i<=31;$i++){

echo "<option value=\"$i\">$i</option>\n";

}

?>

</select> 日

</dd>
</dl>
<input type="submit" value="送信する" />
</form>

というコードで取得した生年月日をa.phpに渡し、表示させます。

a.phpファイルで
<?php
print('誕生日は:' . ($_REQUEST['Y']. '年',ENT_QUOTES));
print(($_REQUEST['M']. '月',ENT_QUOTES));
print(($_REQUEST['D']. '日',ENT_QUOTES));
?>
と、コードを入力しましたら、
誕生日は:1985年1月31日
という値を受け取り、ブラウザ上で表示することはできたのですが、他のコードで表示する方法はないのかと考えております。
もし、他のコードで表示できる方法がありましたらぜひ教えてください。お願いします。

A 回答 (1件)

>他のコードで表示



単に書きかえればいいのでしょうか?
たとえば連続する数字を作成する関数range()とか・・・

<dl>
<form method='post'>
<dt>生年月日</dt>
<dd>
<select name="Y">
<?php
$select = 2000;
foreach(range(1920,2020) as $val){
$selected=$val==$select?" selected":"";
echo "<option value=\"{$val}\"{$selected}>{$val}</option>\n";
}
?>
</select> 年
<select name="M">
<?php
foreach(range(1,12) as $val) echo "<option value=\"{$val}\">{$val}</option>\n";
?>
</select> 月
<select name="D">
<?php
foreach(range(1,31) as $val) echo "<option value=\"{$val}\">{$val}</option>\n";
?>
</select> 日

</dd>
</dl>
<input type="submit" value="送信する" />
</form>

<?php
//表示
if(!is_numeric($_REQUEST['Y']) or !is_numeric($_REQUEST['M']) or !is_numeric($_REQUEST['D'])){
print '誕生日は:不明';
}else{
printf('誕生日は:%s年%s月%s日',$_REQUEST['Y'],$_REQUEST['M'],$_REQUEST['D']);
}
?>
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!