フリーPHPスクリプト配布サイト。
トップ > PHP入門 > 時間によって表示内容が変わるページ
date
関数を使用すれば、現在の時刻を取得することができます。また、if
を使用すれば、取得した時刻(数値)によって処理を分岐させることができます。
これらを利用すれば、時間によって表示内容が変わるページを作成することができます。
時間によって表示内容が変わるページは、以下のようになります。
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>挨拶表示</title>
</head>
<body>
<?php if (date("H") >= 6 and date("H") <= 11) : ?>
<!--6時~11時のメッセージ-->
<p>おはようございます。</p>
<p>今日も一日頑張りましょう。</p>
<?php elseif (date("H") >= 12 and date("H") <= 17) : ?>
<!--12時~17時のメッセージ-->
<p>こんにちは。</p>
<p>今日は良い天気です。</p>
<?php else : ?>
<!--それ以外(18時~5時)のメッセージ-->
<p>こんばんは。</p>
<p>今日もお疲れさまでした。</p>
<?php endif; ?>
</body>
</html>
date
関数に H
という文字を渡すと、現在の時刻を取得できます。あとはこれを比較するだけです。今回は
の3パターンにしています。PHPでは if
で条件分岐する際に「時刻が6~11ならば」のように範囲を指定した条件は指定できません。このような条件は「時刻が6以上、かつ時刻が11以下ならば」のように、AND条件を使用します。
18時~5時の場合も厳密に条件を書くことができますが、今回は else
を使用しています。
なお、時刻を比較してメッセージを表示する部分は、
<?php
if (date("H") >= 6 and date("H") <= 11) {
echo "<p>おはようございます。</p>\n";
echo "<p>今日も一日頑張りましょう。</p>\n";
} elseif (date("H") >= 12 and date("H") <= 17) {
echo "<p>こんにちは。</p>\n";
echo "<p>今日は良い天気です。</p>\n";
} else {
echo "<p>こんばんは。</p>\n";
echo "<p>今日もお疲れさまでした。</p>\n";
}
?>
このように echo
で表示しても問題ありません。自分で解りやすいと思う書き方にしてください。
この仕組みを利用すれば、例えば「12時~15時の間だけ、セールス情報が表示される」といったページを作成することもできます。