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

mailto リンクに予め件名などを「文字化け」しないように入れる方法ですよ♪

ウェブページのリンクをクリックしてメーラーを起動、送信する方法をメモします。

基本的な型

<a href="mailto:mailto@example.com?subject=ここが件名&body=ここに本文">メールへのリンク</a>
カテゴリー
コンピューター

CakePHP2 の FormHelper 第2引数の escape オプションについて調べてみました。

以前 CakePHP2 でラジオボタンを作ったときに、ボタンをクリックしたら onclick に書いた関数を起動するようにしたかったときがありました。地味に躓いたので、ポイントをメモしておきます。

escape オプションのポイント

  • FormHelper 第2引数のオプションの値の中の文字列のエスケープも無効にできます。具体的な指定方法は、’escape’ => false 。ちょっと変則的な使い方、、、だと思います。
  • テキストエリアに ‘escape’ => false を指定すれば入力した文字列のエスケープが無効になります。これが基本的な使い方、、、だと思います。
  • escape オプションは指定しなければ true 。これがデフォルトです。
カテゴリー
コンピューター

CakePHP2 で JavaScript を使ってラジオボタンの選択でセレクトボックスの操作可能不可能を切り替えたい!

CakePHP2 で JavaScript を使いたいですが、いまさらながら初めてのことでしたので

  • CakePHP2 への JavaScript 導入方法
  • 簡単なサンプルの作成。ラジオボタンの一方を選択すると隣のセレクトボックスが操作できたりできなくなったりする。

の二つをメモします。

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

CakePHP2 で Form ヘルパーの dateFormat の日本語対応を、独自に修正したりしないで泥臭く対応する方法。

FormHelper::input の ‘type’ => ‘date’ を使うと一発で「年月日」のセレクトフォームを作れて幸せな気持ちになります。しかし!しかしはまりました。

年と月と、月と日の間に入れる文字列を自由にできないのです!そこで、不完全ながら何とかした記録を残しておきます。

なんとかしたソース

誕生日<?php echo $this->Form->datetime('User.birth_date', 'Y', null, array('minYear' => 1980,'empty' => '----','orderYear' => 'asc'));?>年
<?php echo $this->Form->datetime('User.birth_date', 'M', null, array('monthNames' => false,'empty' => '--'));?>月
<?php echo $this->Form->datetime('User.birth_date', 'D', null, array('empty' => '--'));?>日
<?php
if ($this->Form->isFieldError('User.birth_date')) {
	echo $this->Form->error('User.birth_date');
}
?>
カテゴリー
コンピューター

CakePHP2 でユーザ情報の更新ページみたいなのを作るときのメモ♪

ウェブサービスを利用しているとプロフィールページががあって、メールアドレスや、住所とか、変更できるようになっています。これを CakePHP2 で作るにはどうしたらよいか?なにが問題となったか?ポイントか?メモ程度ですが残しておきます。

メモるべきポイント

  • 同一内容を入力させるフォームとバリデーションチェックを行う。たとえば、メールアドレスとか、パスワードを修正するために、「確認のためもう一度入力してください」といったフォーム。
  • パスワードを更新する。パスワードのフォームは最初空で表示し、入力があった場合のみ、データベースのレコードを更新する。
  • 一度の post で複数テーブルの情報のバリデーションチェックを行い、情報の更新を行う。
カテゴリー
Linux

root 以外でもファイルを編集できるように apache グループにユーザを追加したのにできないっ!

/var/www/html にあるディレクトリ配下のファイルに 対してapache ユーザ、apache グループがいろいろできるよう、パーミッションを設定しています。

root ユーザならもちろん何でもできるのですが、このたび管理者以外のほかのユーザでもいろいろできるようにしてみようと思います。

・・・結論から言えば、うまくいかなかったのですけれども残しておきます。

コマンド

[root@oki2a24 tmp]# # oki2a24 ユーザを apache グループに追加する
[root@oki2a24 tmp]# gpasswd -a oki2a24 apache
カテゴリー
コンピューター

CakePHP2 。テーブルのカラム(列)は小文字にするとよいです♪

CakePHP- the rapid development php framework- Groups.jpg

ポイント

  • CakePHP の恩恵を受けるためにはテーブルのカラム名は小文字にしましょう!規約には明記されていないけど、きっと当たり前扱いなんでしょう♪
カテゴリー
コンピューター

CakePHP2!Windows 、Linux で bake した時の文字コード、改行コードは何でしょう?

CakePHP の開発でも調べものでも楽できるところは楽したい!と思っています。そこで、楽の仕方を考えます。へたをすると、余計な手間やはまりどころにもなりかねませんしね♪

結論

  • Windows の XAMPP環境 で bake → 文字コード SJIS 改行コード CR+LF
  • CentOS で bake → 文字コード SJIS 改行コード LF

Linux で bake しても、SJIS になるとは、ちょっと意外でした。ちなみに、CentOS の文字コードは UTF-8 に設定されていました。

[root@oki2a24 oki2a24.com]# printenv | grep LANG
LANG=ja_JP.UTF-8

CakePHP の bake 方針案

一発で解決!できなかった、面白みのない結論ですけれども、これがよさそうです。

  • bake 環境は、Windows、Linux、どちらでもよい。
  • bake した生成ファイルは、文字コード、改行コードをまず変更する。
カテゴリー
コンピューター

php.ini のタイムゾーンの簡単な確認方法と実際に date.timezone を設定しました!

date.timezone.jpg

CakePHP2 を CentOS に入れようとしたら、「PHP のタイムゾーン設定がなんか変だよっ!」とありがたいご指摘をいただきましたので、対応いたしました。

ポイント

# php.ini の場所を確認
php -i | grep php.ini

# timezone を編集するには次のようにする。
# date.timezone = "Asia/Tokyo"

# Apache 文法チェック
apachectl configtest
# Apache 再起動
/etc/rc.d/init.d/httpd restart
カテゴリー
コンピューター

CakePHP2 でのバージョン確認方法をメモしておきます!

時々、自分がどのバージョンの CakePHP で作業しているのかわからなくなるので確認方法をメモします。

  • lib/Cake/VERSION.txt の最後の行を見よ!