WordPressのバージョンアップ後に「Warning: Missing argument 2 for wpdb::prepare()」が発生

最近WordPressのバージョンアップを3.8へアップデートしてサイトを表示してみたら、プラグインを使用している箇所で「Warning: Missing argument 2 for wpdb::prepare()」というワーニングメッセージが表示されていました。どうもこの事象は3.5へアップデートした時から発生している事象のようで、当方は3.4→3.8へのバージョンアップだったので今頃遭遇しました・・・。
放置しても動作はしますが、見栄えが悪いので対処方法を調べてみました。

原因

WordPressの3.5以上では「wp-db.php」で定義されているFunction「prepare」の引数の数が2つ必要になっています。

今回Warningが発生した原因はこの「prepare」をプラグインのphpから呼び出す際に引数が1つしか指定されていない為にWarningが表示されたみたいです。

対処方法

原因は明確なので、function「prepare」を使用しているphpを修正します。function「prepare」を使用している箇所へダミー引数となる「null」を2つ目の引数として指定すれば対応完了です。(もちろんプラグインが正式対応したらバージョンアップしましょう)

変更前

変更後

画面上のカラーコードを簡単に取得出来るツール「FE – Color Palette」

FE – Color Palette

Webページを作成していると背景色や文字色を変更する際、画面上のこの色に合わせたいなあと思うことが良くあるかと思います。
こういう場合には「FE – Color Palette」というフリーソフトを使用するとカラーコードが簡単に取得出来るので非常に便利です。

ダウンロード先

FE – Color Palette Ver.1.12 (LZH形式・42.1KB)

使用方法

  1. ダウンロードしたファイルを任意のフォルダへ解凍します。
  2. 解凍したフォルダ内にある「FE – Color Palette.exe」をダブルクリックして起動します。
  3. 「画面の色」ボタンを押下すれば現在ディスプレイに表示されているカラーコードの取得が可能となります。

特徴

  • 画面上でイメージをリアルタイムに確認できる。
  • HSV形式・RGB形式での色指定が可能。
  • 128個のパレットをもち、さらに自由にパレットを作成・保存することができる。
  • 作成した色は、目的に合わせた形(HTML、RGBマクロ、DWORD)で簡単にクリップボードにコピーできる。
  • 画面上の任意の点の色を取得することができる。
  • 使いやすいユーザーインターフェース。
  • ファイルサイズが小さく、動作も軽快。
  • 外部ファイルは一切必要としない。

バッチファイルで複数ファイルをコピーする方法

よくテストデータ作成などで、中身は何でもいいから同じファイルを複数作成したくなる場合があります。10件や20件位なら1件ずつコピーして作成しても良いですが、何百件・何千件という単位で必要になる場合にはとても手でコピーなどしてられません。こういう時にbatファイルを作成すれば指定数分のファイルを簡単にコピーする事が出来ます。

cpyFile.bat

実行前

以下は「cpyFile.bat」実行前のファイル状態です。

実行後

コピー元ファイル「コピー元ファイル.txt」を用意し、「cpyFile.bat」を実行した後の状態です。

ブラウザの戻るボタンを押すと有効期限切れになってしまう

Webページを作成していると、ブラウザバック(ブラウザの戻るボタン押下)時に有効期限切れのメッセージが表示される事があります。今回はこの事象についてまとめてみようと思います。

何故「ページの有効期限切れ」対策が必要なのか?

そもそも何故、ページの有効期限切れ対策が必要となるのでしょうか?
正直、個人的にはブラウザによるセキュリティ対策で個人情報をキャッシュさせない為の制御なので、ブラウザ仕様になるのでAP側では対処不要と考えています。
それでも業務用APなどではクライアント側が納得してくれないケースも多いと思われます。それは何故でしょうか?

  • まず、格好と見栄えが悪い。
  • 戻るボタンを押したのだから、当然直前の入力画面へ戻るだろうと勝手に思い込んでいる。
  • ユーザから見れば意味不明の画面が表示されているので、何か異常があったのかと思う。

大体、こんなところでしょうか。

「ページの有効期限切れ」が発生する原因

  1. POSTでパラメータ送信している
  2. SESSIONを使用している
  3. 上記を使用しているページへ戻ろうとしてブラウザの「戻る」ボタンを押下した

ブラウザ側では「ページの有効期限切れ」を表示する際、どこをチェックするのか

多くのブラウザではページ有効期限を確認する際、以下の「HTTPヘッダー」の設定値を確認します。

  • Last-Modified:最終更新日
  • Expires:有効期限
  • pragma :HTTP1.0仕様に基づくデータのキャシュ制御オプション
  • Cache-Control:HTTP1.1仕様に基づくデータのキャシュ制御オプション

ページの有効期限切れが発生した場合、まずHTTPヘッダーの設定値が現在どうなっているか確認して下さい。

対策

クライアント側

  • 有効期限切れが表示されたらF5キー押下やブラウザのページ再読みなどでページをリロードしてもらう
  • 恐らくこれがAP側の対応も不要になるので一番手っ取り早い対処方法です。

サーバ(AP)側

  • ブラウザの戻るボタンを無効又は非表示にしてしまう。
  • 仮に有効期限切れの事象を回避出来てたとしても、DB更新後にブラウザバックされた場合など、ブラウザバックによって他にも問題が出てくる可能性が高いと思われます。AP側で一番良い対処法と思われるのはブラウザの戻るボタンがユーザの目立つ位置に見えているからつい押下してしまうので、戻るボタンを無効化又は非表示にしてしまうことが一番確実な対処方法と思われます。但しクライアントが納得すればの話ですが。

  • POSTではなくGETを使用する。
  • ブラウザではPOSTは警告を出力しますが、GETではそのまま画面遷移します。但し、POST時にパスワードなどの個人情報や大量のデータを送信している場合はオススメしません。

  • HTTPヘッダーの設定値を見直す。
  • HTTPヘッダーの設定値を変更する事で、ブラウザ側の有効期限チェックを回避する事が出来ます。

マイクロソフト認定資格試験 (MCP) 70-480

最近、JavaScriptやjQueryを使用する機会が増えてきたので、JavaScript関連の資格が無いか調べてみたら「マイクロソフト認定資格試験 (MCP) 70-480」という試験があるようなので少し調べてみました。試験内容の大半はJavaScript及びjQueryらしいので少し勉強すればなんとかなるかも。

資格名

マイクロソフト認定資格試験 (MCP) 70-480

試験番号

70-480

試験概要

HTML5 と JavaScript および CSS3 との組み合わせによるアプリケーションのプログラミングに関するスキルおよび知識の評価を目的としています。

受験対象者

この試験の受験対象者は、JavaScript を使用したさまざまなアプリケーション タイプおよびハードウェア/ソフトウェア プラットフォームに欠かせないビジネス/アプリケーション ロジックのプログラミングで 1 年以上の実務経験が必要です。また、受験対象者は、HTML を使用した、オブジェクト指向のイベント ドリブン プログラミング モデルの開発経験が最低 1 ~ 2 年必要です。
受験対象者は、以下のことについて十分に理解している必要があります。

  • プログラム フローとイベントの管理
  • 非同期プログラミングとスレッド処理
  • データの入力規則と JQuery などのデータ コレクションの使用
  • エラーと例外の処理
  • 配列とコレクション
  • 変数、演算子、および式の使用
  • プロトタイプとのメソッドの使用
  • 条件判断ステートメントと繰り返しステートメント

試験申込先

PROMETRIC

試験時間

140分

受験料

19,000円(税抜)

問題数

40問

合格ライン

700点

ネットワーク上の共有 PC へのリンクを開く場合の設定方法

HTMLのリンクからネットワーク上の共有PC(CIFS)へアクセスしたいという要望があった場合の対処方法を記載します。

HTMLリンクはfile URI形式で設定

UNCパスでは「\\common\dir\test.xls」というエクスプローラでよく見かける記述となりますが、file URIのパスでは「file://///common/dir/test.xls」という記述形式となります。このfile URI形式でHTMLではリンクを設定します。

file URIパスへのリンクが有効になるようにブラウザ毎に設定

メジャーなブラウザ(IE以外)の多くはセキュリティ的観点から、file URIのリンクをクリックしてもリンク先を表示出来ない設定となっています。これを解除するためにはブラウザ毎に対応する必要があります。

Internet Explore

 IEの場合、セキュリティ対策が甘いのか何も設定する必要はありません。

Firefox

  1. 「user.js」ファイルを作成
  2. FireFoxの場合は設定が少し面倒で、プロファイルへ許可するアドレスを追加する必要があります。その設定ファイルをJavaScriptで以下の様に記述します。

    ※”http://common.dir.co.jp”の箇所 をリンクを許可したいサーバのアドレスへ変更して下さい。複数ある場合はスペースで区切って記述します。

  3. FireFoxのプロファイルフォルダへ「user.js」ファイルを配置
  4. 配置先「%AppData%\Mozilla\Firefox\Profiles\(英数字のランダム文字列).default」
    ※既に「user.js」ファイルが存在している場合は記述を追加して下さい。

  5. FireFoxを再起動
  6. FireFoxを再起動すると「user.js」ファイルへ記述した内容が「prefs.js」(Windowsで言うレジストリのようなもの)へ追加されます。

アンケートサイト「マクロミル(MACROMILL)」でお小遣い稼ぎ

アンケートで稼ぐには、まずアンケート配信サイトへ会員登録を行います(もちろん年会費などは一切掛かりません)。そして登録したサイトから配信されてくるアンケートにWeb上で回答するとその回答に応じて謝礼が貰えるというシステムです。貰える謝礼もリードメールなどよりは割がよく、比較的早めに換金可能額に到達出来るのが特徴です。またこのサイトは換金手数料も無料なのでオススメです。

マクロミル詳細情報

項目           内容
サイト名マクロミル
換金可能額500ポイント~(1ポイント=1円)
換金手数料0円
紹介報酬100円(1人)
単価・事前アンケート:2~3ポイント
・本アンケート:数十ポイント~数百ポイント
メール配信数1日=数通
換金可能な銀行・楽天銀行
・ジャパンネット銀行
・ゆうちょ銀行
・三菱東京UFJ銀行
・みずほ銀行
・三井住友銀行
考察・もう何年も続けていますが、アンケート配信数も安定していて、本アンケートが配信される可能性も結構高い為、比較的短期間で換金可能額まで貯まります。
・毎日続ければ、2~3ヶ月位で1,000円貯める事も可能です。

登録先

※下記バナーから登録すれば、登録した方にも1週間以内にアンケートに回答すれば30ポイント貰えます!