人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

phpを使って、
期間限定メッセージを表示するコードを教えてください。

例:

1)5月9日以前 通常のメッセージ
2)5月9日0時?5月10日0時まで キャンペーン開始のメッセージ
3)5月10日0時?5月11日0時まで キャンペーン終了のメッセージ
4)5月11日以降 通常のメッセージ

こんな感じで、3パターンのメッセージを
使い分けたいと思っています。

どうぞよろしくお願いいたします。


●質問者: pitagora
●カテゴリ:ウェブ制作
✍キーワード:5月10日 5月11日 5月9日 PHP キャンペーン
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● あすか
●35ポイント

こんな感じになります。

表示したいメッセージは配列 $msg に入れてください。HTMLタグを入れることもできます。

ご質問の日本語文からは以下・未満の違いが曖昧でしたので、プログラムの不等号記号から境目の時刻を読み取るようにお願いします。


<?php
//この配列を適宜変更してください
$msg = array(
'',
'1)5月9日以前 通常のメッセージ',
'2)5月9日0時?5月10日0時まで キャンペーン開始のメッセージ',
'3)5月10日0時?5月11日0時まで キャンペーン終了のメッセージ',
'4)5月11日以降 通常のメッセージ'
);

$ti = time(); //現在時刻
if ($ti < mktime(0, 0, 0, 5, 9, 2011)) echo $msg[1];
else if ($ti >= mktime(0, 0, 0, 5, 9, 2011) && $ti < mktime(0, 0, 0, 5, 10, 2011)) echo $msg[2];
else if ($ti >= mktime(0, 0, 0, 5, 10, 2011) && $ti < mktime(0, 0, 0, 5, 11, 2011)) echo $msg[3];
else if ($ti >= mktime(0, 0, 0, 5, 11, 2011)) echo $msg[3];
?>
◎質問者からの返答

asuka645さん、ありがとうございます。

とっても参考になります。

こういう風に配列を使ってもできるんですね?。

目から鱗でした。感謝です。


2 ● うぃんど
●35ポイント ベストアンサー

下記のような具合です

<?php
$now = date('ymd');
if ( $now >= 110509 && $now < 110510 ) {
 echo 'キャンペーン開始です!';
} elseif ( $now >= 110510 && $now < 110511 ) {
 echo 'キャンペーン終了です!';
} else {
 echo '通常メッセージ!';
}

上記は日付での判定なので

$nowには年下二桁+月二桁+日二桁の並びの数値がはいりますが、条件に応じて下記のような具合にしていけます

時間までなら

$now = date('ymdH');

分までなら

$now = date('ymdHi');

秒までなら

$now = date('ymdHis');

◎質問者からの返答

windofjulyさん、ありがとうございます。

時間までの判定をしたかったので、

補足情報もとっても助かります。

メッセージのところにHTMLで装飾したものを入れて

みたいと思っているので、チャレンジしてみます。

丁寧なご返信に感謝です。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ