月送り版リアルタイムカレンダーご利用の方へ修正依頼
PHPを利用したリアルタイムカレンダーにスクリプトミスがありました。修正内容と併せてこの場をお借りしてお詫び申し上げます。
事象としては、ブラウザからアクセスする時のカレンダー表示は正常なのですが、アクセスすると同時にWebサーバ(例えば Apache)の error.log に下記のようなメッセージを出力しています。
PHP Notice: Use of undefined constant j - assumed 'j' in …
PHP Notice: Use of undefined constant Y - assumed 'Y' in …
PHP Notice: Use of undefined constant m - assumed 'm' in …
メッセージが出力される原因は、カレンダーの本日の年月日を取得する処理で
<?php $day = date(j); $year = date(Y); $month = date(m); ?>
と書いている部分で、date 関数の format パラメータ文字列(ここでは j / Y / m)を「"」で括っていなかったためです。PHPではフォーマット文字列として認識される文字については「"」で括らなくてもきちんと動作する仕様みたいですが、その代わりに「『"』で括らないのは非推奨」というメッセージを表示するようです。
このメッセージはカレンダーへのアクセス、つまりページビューが発生する毎に出力されます。
ということで、大変申し訳ございませんが月送り版リアルタイムカレンダー(通常型・横型とも)をご利用の方は、カレンダー部分のタグを次のように
<?php $day = date("j"); $year = date("Y"); $month = date("m"); ?>
と、赤色部分の「"」を追加くださいますよう、よろしくお願い申し上げます。該当の記事につきましては修正済です。
なお、レンタルサーバではPHPの環境設定によってメッセージの出力が抑止されているかもしれません。
- Movable Typeのカレンダーに曜日を表示する方法
- Movable Typeのカレンダーに複数カテゴリのリンクを表示する方法
- Movable Typeでダイナミックカレンダーが表示されない不具合の対処
- Ajax ハイブリッド月送りカレンダー
- Ajax ダイナミック月送りカレンダー
- 複数ブログの情報をひとつのカレンダーにまとめて表示する
- Ajax 月送りカレンダー(jQuery・MT4版)
- 「Ajax 月送りカレンダー」の表示月をブログ記事の投稿月や月別アーカイブに連動させる
- 「Ajax 月送りカレンダー」で未来月のブログ記事を表示しない
- カテゴリー別 Ajax 月送りカレンダー(MT4版)
- Ajax 日めくりカレンダー(MT4版)
- Ajax 月送りカレンダー(MT4版)
- カレンダーの日付リンクのジャンプ先をエントリー・アーカイブに変更する
- Ajax 月送りカレンダー(縦型)
- Ajax 月送りカレンダー(横型)
≫ 月送りリアルタイムカレンダーのスクリプト修正 from SWEET WATER Web Server
小粋空間さんから「月送り版リアルタイムカレンダーご利用の方へ修正依頼」が出てました。 なるほど、こんな簡単な修正で良かったんですねΣ('◇'*)エェッ!? 実を... [続きを読む]
いつも、ご苦労様です。
今修正してきました。
今までエラーは出なかったので、何も気が付きませんでした。(´▽`*)アハハ
私などは、yujiroさんの言うとおりにしか動けませんので(笑)
>ミッチさん
こんばんはー。
ご連絡ありがとうございました。
まあ、サーバ利用者の方には特に問題ありませんので。(笑)