キャンペーンバナーの制作依頼を受け、終了後の非表示対応の心配をしたあなたは手作業派ですね!
そんなあなたが少しでも楽ができるように、キャンペーン期間をPHPで設定して表示を切り替えるコードを書いてみましょう。
1 2 3 4 5 6 7 8 9 10 |
<?php // 基本構文 if( 条件a ){ // 条件aがtrueだった場合 } else { // 条件aがfalseだった場合 } ?> |
例えば、2014年1月20日~1月30日までをキャンペーン期間とします。
指定の期間は「お申込みはこちら!」という内容を表示し、それ以降は「キャンペーンは終了しました」と表示させるとします。
PHPでこの期間を満たす内容を「条件a」に書き直したものが下のコードです。
1 2 3 4 5 6 7 8 |
<?php // キャンペーン期間を指定 if (time() >= strtotime("2014-01-20 00:00:00") && time() < strtotime("2014-01-30 00:00:00")) { echo "<p>お申込みはこちら!</p>"; } else { echo "<p>キャンペーンは終了しました</p>"; } ?> |
日付をセットする際は、strtotime()関数を使い日付をUNIXタイムスタンプに変換して比較を行います。
仕組みとしては、time()は現在のUNIXタイムスタンプとなりますので、 現在の時刻が2014年1月20日 0時0分0秒を越している場合は「お申込みはこちら!」が表示され、 キャンペーンが終了する2014年1月30日 0時0分0秒には「キャンペーンは終了しました」と表示が切り替わる仕掛けとなります。
キャンペーンが終了後に内容を非表示にしたい場合には、else 以降を消してしまいましょう。
1 2 3 4 5 6 |
<?php // キャンペーン期間を指定 if (time() >= strtotime("2014-01-20 00:00:00") && time() < strtotime("2014-01-30 00:00:00")) { echo "<p>お申込みはこちら!</p>"; } ?> |