phpを使って、

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

例:

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

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

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

回答の条件
  • 1人2回まで
  • 13歳以上
  • 登録:2011/05/05 16:08:40
  • 終了:2011/05/12 16:10:03

ベストアンサー

id:windofjuly No.2

うぃんど回答回数2625ベストアンサー獲得回数11492011/05/05 16:49:26

ポイント35pt

下記のような具合です

<?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');

id:pitagora

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

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

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

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

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

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

2011/05/05 16:57:32

その他の回答(1件)

id:asuka645 No.1

あすか回答回数856ベストアンサー獲得回数972011/05/05 16:25:46

ポイント35pt

こんな感じになります。

表示したいメッセージは配列 $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];
?>
id:pitagora

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

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

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

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

2011/05/05 16:55:30
id:windofjuly No.2

うぃんど回答回数2625ベストアンサー獲得回数11492011/05/05 16:49:26ここでベストアンサー

ポイント35pt

下記のような具合です

<?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');

id:pitagora

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

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

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

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

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

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

2011/05/05 16:57:32

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません