PHPで閏年かどうか判定する

(1/3)
PHP が活躍するのは、ブラウザからの入力に対して何か反応を返すような処理である。
このような処理は、
  1. ブラウザからの入力
  2. PHP による処理、出力
の2段階になる。一般的に、1番目は HTML の FORM タグで、2番目が PHP で処理する。そこで今回は、ブラウザから西暦年号を入力し、それが閏年かどうか判定して結果を出力するページを PHP で作ってみることにする。

サンプル・プログラム

まずは PHP のソースプログラムをダウンロードしてほしい。
解凍できたら、isleap.php というファイル名で Apache の仮想ディレクトリが通っているディレクトリにセーブすること。
なお、画面に表示している行番号は説明の便宜上のものであり、ソースプログラムには含まれていない。

0001: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
0002:  "http://www.w3.org/TR/html4/loose.dtd">
0003: <html lang="ja">
0004: <head>
0005: <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS" />
0006: 
0007: <?php
0008: // ここからPHPプログラム ===================================================
0009: /**isleap.php
0010:  * 閏年かどうか判定する
0011:  * @copyright (c)studio pahoo
0012:  * @author     パパぱふぅ
0013:  * @version     1.0  2004/10/04
0014: */
0015: /**
0016:  * 与えられた年が閏年かどうか判定する
0017:  * @param int $y   西暦年
0018:  * @return bool TRUE:閏年である/FALSE:平年である
0019: */
0020: function isleap($y) {
0021:     $ret = FALSE;
0022:     if ($y % 4 == 0)    $ret = TRUE;
0023:     if ($y % 100 == 0)  $ret = FALSE;
0024:     if ($y % 400 == 0)  $ret = TRUE;
0025:     return $ret;
0026: }
0027: 
0028: //メインプログラム
0029: if (isset($_POST["year"]) == FALSE)     $year = date("Y");   //初回起動時
0030: else                                    $year = $_POST["year"]
0031: // ここまでPHPプログラム ===================================================
0032: ?>
0033: 
0034: </head>
0035: <body>
0036: <form action="isleap.php" method="post">
0037: 西暦年号=
0038: <input type="text" size="10" name="year" value="<?=$year ?>">
0039: <input type="submit" value="調べる">
0040: </form>
0041: 
0042: <?php
0043: // ここから再びPHPプログラム ==============================================
0044: if (isleap($year) == TRUE)  printf("%s年は閏年です", $year);
0045: else                        printf("%s年は平年です", $year);
0046: // ここまでPHPプログラム ==================================================
0047: ?>
0048: </body>
0049: </html>

プログラムを実行する

プログラムをダウンロードする

サンプル・プログラムの実行方法

ブラウザから http://localhost/***/isleap.php (*** はセーブした仮想ディレクトリ名)と入力すると、年を入力するテキストボックスがあらわれるので、適当な西暦年を入力して[調べる]ボタンを押す。すると、同じページに閏年かどうか判定結果が表示される。なお、初回起動時は現在の西暦年が代入される。
この項つづく
header