カテゴリー
コンピューター

PHP で文字列比較は「===」♪今更ですけれどもっ!

今回は検証もしていないただのメモです。

  • PHP の文字列比較は「===」を使う。「==」ではない。
いえ、やっぱりちょっと試します。
カテゴリー
コンピューター

CakePHP2 でアクセス元の IP アドレス調べたら「::1」で???となった件について

とある Windows XP で XAMPP の環境で、以前メモった $this->request->clientIp(false) を試したところ、「::1」と返ってきて、????????となりました。ナンデ?調べてみて、これかな?というのにたどり着きましたので、メモします。

ポイント

  • ::1 = IPv6 のループバックデバイス = ローカルホスト = localhost

ちなみに、

カテゴリー
コンピューター

Dropbox の変更履歴を見る方法をメモ

どのファイル・フォルダに対してか?、追加・編集・削除したのか?、いつか?、という履歴の一覧を Dropbox で確認する方法をメモします。

ポイント

カテゴリー
コンピューター

CakePHP2 プラグインを駆使して問い合わせフォームを作ってみます♪

本投稿はわたくしオリジナルではなく、次の記事を自分なりに実践した勉強となります。

  • WEB+DB PRESS Vol.65|gihyo.jp … 技術評論社
    特集2 PHPフレームワーク実践活用 ~Symfony2,CakePHP,Silex~
    第3章:CakePHP最新開発スタイル 豊富なプラグインを用いた開発とCakePHP 2.0を体験……市川 快

作るものの簡単な仕様

  • お問い合わせ送信の前に確認画面を表示する。
  • お問い合わせの入力内容は DB に保存する。
  • E -mail は2回入力してもらい、一致しているかどうかのバリデーションチェックを行う。

お問い合わせフォームの実装流れ

  1. インストール、設定
  2. DB スキーマの用意とテーブル作成
  3. bake all で初期コードの自動生成
  4. プラグイン設置
  5. 確認画面の遷移を追加
  6. 確認画面のビューを追加
  7. 保存データのチェック
  8. 完成画面
カテゴリー
コンピューター

PHP のログで便利な定数をちょっと試しました♪

デバッグでログをとるときは、ログを出力した場所であるソースコードのファイル名、関数名、行数がわかると便利です。何かいい手はないかと探していたら、ありました♪メモしておきます!

ポイント

  • __METHOD__ → クラス名::関数名
  • __LINE__ → ファイル上の現在の行番号

使ってみた

カテゴリー
コンピューター

CakePHP2 の関数を使って IP アドレスを調べる方法を、メモ!

CakePHP2 の プレフィックスルーティングのページに、.htaccess の IP アドレスアクセス制限をかける方法! | oki2a24 では Apache の .htaccess を使う方法をメモしました。今度は、CakePHP2 に備わっている関数を使ってページを訪れた人の IP アドレスを取得する方法をメモします。

ポイント

  • コントローラーで、$this->request->clientIp(false)
カテゴリー
コンピューター

MySQL から Excel で使える CSV を作成します!できるだけ簡単に♪

MySQL には CSV 出力する機能が備わっていることに、初めて気がつきました。

喜び勇んで試してみたものの、Excel ではどうにもうまく読み込めません。特に、セル内で改行があると、次の行という扱いになってしまうのですよね。。。

そこで、何とかしてみたメモを残しておきます。

ポイント

  • 今時なので MySQL は UTF-8 です。Excel で読むために Shift-JIS に変更する必要があります。
  • セル内での改行は LF、行末の改行は CRLF にする必要があります。
  • セルを「”」で囲む場合があるため、「”」をエスケープする必要があります。

やってみた

カテゴリー
コンピューター

CakePHP2 で普通の update がしたいなら updateAll !

あっ、普通の update というのは、WHERE 区に自由な条件をつける、という意味です。今回、CakePHP2 にて次のことをやってみたのでメモします。

  • 好きな条件でテーブルを更新する。
  • あるカラムの値をインクリメントしたい。
  • updateAll だと modifiedを自動で更新してくれないのをなんとかする。
続きでズバッと解決します。
カテゴリー
コンピューター

CakePHP2 の プレフィックスルーティングのページに、.htaccess の IP アドレスアクセス制限をかける方法!

app/Config/core.php の prefix routes 部分に次のように書き、

	Configure::write('Routing.prefixes', array('admins', 'editors', 'authors'));

app/Controller/UsersController.php で admins_login() のようなアクションを書くことで、

  • http;//example.com/admin/users/login/

にアクセスすると admins_login() アクションを実行するようにできます。プレフィックスルーティングですね。

上記の例の場合、 editors と authors も設定しているので、http;//example.com/editors/users/login/ や http;//example.com/editors/authors/login/ で editors_login() や authors_login() を実行できます。

さてここで、admins には特定の IP アドレス以外からアクセスさせたくない!となったら、どうしたらよいでしょうか?やってみた記録をメモします。

カテゴリー
コンピューター

Basic 認証の作成方法をおさらいです。

https://oki2a24.com/test/ 配下のページにアクセスしたときに Basic 認証を求めるサンプルです。サーバ上のディレクトリは次になります。

  • /・・・略・・・ドキュメントルート/test/

ユーザ名、パスワードは、次のようにします。

  • testuser
  • testpassword