2009/01/18

Ajaxzip2

べんりなajaxzip2。
郵便番号を入力すると、該当する都道府県名・住所が自動的に入力されます。
AjaxとJSONフォーマットを利用するJavaScriptライブラリとして公開されているものを利用。
JavaScript のみで稼動するため、サーバサイドで稼動するCGIプログラムは不要です。
郵便番号→住所変換処理は全てクライアントサイドのJavaScriptで行います。
既存 HTML の住所入力フォームをたった3行書き換えるだけで利用できます。

住所入力フォームHTMLを書き換える場合は、変更箇所は3行のみです。
まず、 ヘッダー中に以下の2行を追加してください。
script src="ajaxzip2/ajaxzip2.js" charset="UTF-8"

ページ内で既に prototype.js または jquery.js のいずれかを利用している場合、追加するのは ajaxzip2.js の1行のみでOKです。
なお、ajaxzip2.js の文字コードは UTF-8 ですが、呼び出し元のフォームのある HTML ファイルの文字コードは Shift_JIS でも EUC-JP でも構いません。

次に、住所入力フォームの7桁郵便番号入力欄に onKeyUp イベントハンドラを登録します。

input name="zip" type="text"

input name="zip" onkeyup="AjaxZip2.zip2addr(this,'pref','addr',null,'addr');" type="text"

第2引数 'pref' には、都道府県名選択のプルダウン(またはテキスト入力欄も可)のフォーム変数名を指定します。
同様に、第3引数 'addr' に市区町村名以下の住所入力欄のフォーム変数名を指定します。
ご利用のフォームに合わせて、変更しておいてください。

Terminal パスワード

たまに人のコンピュータを頼まれて弄る機会があるが、
自分的には人にはさわらせたくないですね。

ブラウザなどの自動入力の情報はキーチェーンに保存されており
当然ながら呼び出せます。アカウント、パスワードなど。

security dump-keychain -d ~/Library/Keychains/login.keychain

こんな感じで。

ちなみにセキュリティのマニュアルは
man security

文字コード設定いろいろ

.htaccess ファイルで、PHP の "mbstring"関数を設定する例。

# UTF-8 で作成・保存して UTF-8 で表示させる場合

php_flag output_buffering Off
php_value output_handler none
php_value default_charset UTF-8
php_value mbstring.language japanese
php_flag mbstring.encoding_translation On
php_value mbstring.http_input auto
php_value mbstring.http_output UTF-8
php_value mbstring.internal_encoding UTF-8
php_value mbstring.substitute_character none


# UTF-8 で作成・保存して Shift_JIS で表示させる場合

php_flag output_buffering On
php_value output_handler mb_output_handler
php_value default_charset Shift_JIS
php_value mbstring.language japanese
php_flag mbstring.encoding_translation On
php_value mbstring.http_input auto
php_value mbstring.http_output SJIS
php_value mbstring.internal_encoding UTF-8
php_value mbstring.substitute_character none

# EUC-JP で作成・保存して EUC-JP で表示させる場合

php_flag output_buffering Off
php_value output_handler none
php_value default_charset EUC-JP
php_value mbstring.language japanese
php_flag mbstring.encoding_translation On
php_value mbstring.http_input auto
php_value mbstring.http_output EUC-JP
php_value mbstring.internal_encoding EUC-JP
php_value mbstring.substitute_character none

# EUC-JP で作成・保存して Shift_JIS で表示させる場合

php_flag output_buffering On
php_value output_handler mb_output_handler
php_value default_charset Shift_JIS
php_value mbstring.language japanese
php_flag mbstring.encoding_translation On
php_value mbstring.http_input auto
php_value mbstring.http_output SJIS
php_value mbstring.internal_encoding EUC-JP
php_value mbstring.substitute_character none

2009/01/17

エックスサーバーにEC CUBE

まずはファイルをゲットhttp://www.ec-cube.net/

環境はエックスサーバーなのでいわゆるLAMP環境です
EC CUBEは2.3.3(UTF-8)
MySqlは5.022(UTF-8)
PHPは4.3.9
Apacheは2.0.52 (Red Hat)


mobile用にphp.iniを作成(一行記述のみ)
session.use_trans_sid = 1

これをmobileの各ディレクトリにコピー

UTF-8版なのでDB作成時にもUTF-8を指定。
php.iniにてマルチバイト関数を指定。
とりあえず問題のない記述を記録。
register_globals = on
safe_mode = off
max_input_time = 60
output_buffering = Off
output_handler = mb_output_handler
safe_mode_exec_dir = none
upload_max_filesize = 10M
variables_order = EGPCS
dbx.colnames_case = lowercase
HTTP input encoding translation = on
mbstring.detect_order = auto
mbstring.encoding_translation = on
mbstring.http_input = auto
mbstring.http_output = EUC-JP
mbstring.internal_encoding = EUC-JP
mbstring.language = Japanese
mbstring.detect_order = auto
mbstring.substitute_character = none
session.save_path = /var/lib/php/session
url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry"
cgi.fix_pathinfo=1
$pathinfo_index = isset($_SERVER['ORIG_PATH_INFO']) ? 'ORIG_PATH_INFO' : 'PATH_INFO';
print $_SERVER[$pathinfo_index];
AcceptPathInfo On

config的なファイルの在処は
../ec_cube/data/install.php