アクセス時間で表示を変える
「時刻表示と挨拶文」

time.cgi

ホームページをアクセスしたとき,時間によって表示が変わるとくる楽しみも増える??応用次第で背景の色を変えるなんてこともできますよ!

■ 時刻の取得はこのようにします.注意しなくてはならないのが「月」.1月から12月が「0」〜「11」に対応しています.だから,次の行で「1」を加算しています.

($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time);
$mon++;
■ 曜日を定義します.$day[0]に"日",$day[1]に"月"のように定義します.ここではそれらをまとめて定義するために @day 変数を用いています.

@day = ('日','月','火','水','木','金','土');

■ 時刻表示と挨拶表示に関してはこんな風にします.

print "Content-type: text/html\n\n";
print '現在,'."'$year年 $mon月 $mday日 $day[$wday]曜日 $hour時 $min分 $sec秒です.".'<BR>';


# 9時まで
  $morning = 9;
# 16時まで
  $noon = 16;
# 20時まで
  $evening = 20;
# 4時まで
  $night = 4;

#おはよう
if ($hour > $night && $hour <= $morning) {
  print 'おはようございます!';
}

#こんにちは
if ($hour > $morning && $hour <= $noon) {
  print 'こんにちは!';
}

#こんばんわ
if ($hour > $noon && $hour <= $evening) {
  print 'こんばんわ!';
}

#おやすみなさい
if ($hour > $evening || $hour <= $night) {
  print 'おやすみなさい...';
}
print '<BR>';

赤色の部分で時刻を表示しています.必ず1行目の Content-type は記述してください.$wdayには曜日が「日:0」から「土:6」として数値で入ります.したがって,曜日を漢字で表示するため,さきほどの @day を用います.$day[$wday]とすることで,もし水曜なら $wday = 3 で,$day[3] は 「水」になります.
時間の判断はピンクの表示にしたがった部分で行っています.「おはよう」を例にとれば,if 文で $hour > $night && $hour <= $morning で 4時より大きく9時以下の時間の場合,「おはようございます!」を表示する,ということになります.

右のボタンを押してください.押した時点での時刻と挨拶が表示されます. 

戻 る