From rui_hirokawa @ ybb.ne.jp Tue Dec 3 21:34:22 2002 From: rui_hirokawa @ ybb.ne.jp (Rui Hirokawa) Date: Tue, 3 Dec 2002 21:34:22 +0900 Subject: [Tep-j-develop] Re: Tep-j-develop -- confirmation of subscription -- request 878319 In-Reply-To: <20021203123333.10303.13534.Mailman@sf-master-02.priv.osdn.jp> References: <20021203123333.10303.13534.Mailman@sf-master-02.priv.osdn.jp> Message-ID: <20021203213422.42bba777.rui_hirokawa@ybb.ne.jp> On Tue, 03 Dec 2002 21:33:33 +0900 tep-j-develop-request @ lists.sourceforge.jp wrote: > Tep-j-develop -- confirmation of subscription -- request 878319 > > 私たちは,あなたの電子メールアドレス を > tep-j-develop @ lists.sourceforge.jp メーリングリストに入会するよう > 43.240.144.74 から > 申請を受けつけました.確認のため,tep-j-develop-request @ lists.sourceforge.jp宛てに > 以下のいずれかのメールを送信してください. > > - メールの件名を変えない(返信の Re: がつくのはOKです) > > - 又は,本文に次の行だけを入れる. > > confirm 878319 > > (単に返信をするだけでも,多くのメールプログラムでは件名 > を正しい形にしてくれますので,うまくいくはずです) > > もし,このリストに加入するつもりがなければ,単にこのメール > を無視してください.質問は tep-j-develop-admin @ lists.sourceforge.jp > までどうぞ. -- Rui Hirokawa From mjijp @ yahoo.co.jp Fri Dec 6 23:16:47 2002 From: mjijp @ yahoo.co.jp (Mji-Nozaki) Date: Fri, 6 Dec 2002 23:16:47 +0900 (JST) Subject: [Tep-j-develop] 計算表による料金 Message-ID: <20021206141647.67752.qmail@web806.mail.yahoo.co.jp> みなさんはじめまして。よろしくお願いします。 配送方法の項で、佐川急便や郵パックを選択した場合にも 計算表による料金のように、一定額以上の場合送料を無料に することは出来ないでしょうか。 一定額以上で送料無料になり、配送業者も選べるのが理想 なのですが。 ===================== M字 開店準備室 野崎 ===================== __________________________________________________ Do You Yahoo!? Yahoo! BB is Broadband by Yahoo! http://bb.yahoo.co.jp/ From hawk @ ideastore.co.jp Sun Dec 8 14:51:14 2002 From: hawk @ ideastore.co.jp (idea hawk) Date: Sun, 08 Dec 2002 14:51:14 +0900 Subject: [Tep-j-develop] button_main_menu.gifがありません... Message-ID: 田村さん、こんにちは。 永田です。 /catalog/product_info.phpの55行目付近ですが、
で、button_main_menu.gifが存在しませんので、なんだかちょっと間抜けな感じです。 出現する条件は、"product_info.php?products_id="とID無しの場合のみ(だと思い ます)ですので、実質的に問題ないと思いますが... こちらでは'button_continue.gif', IMAGE_BUTTON_CONTINUE などの画像が存在する 物に書き換えてしまいました。 # 何だか重箱の隅を突いている様で....(^^;) From tamura @ bitscope.co.jp Mon Dec 9 09:52:21 2002 From: tamura @ bitscope.co.jp (TAMURA Toshihiko) Date: Mon, 09 Dec 2002 09:52:21 +0900 Subject: [Tep-j-develop] Re: button_main_menu.gifがありません... In-Reply-To: References: Message-ID: <20021209094817.19D3.TAMURA@bitscope.co.jp> 永田さん、こんにちは。 田村です。 > /catalog/product_info.phpの55行目付近ですが、 > > >
tep_image_button('button_main_menu.gif', IMAGE_BUTTON_MAIN_MENU); > ?> > > > で、button_main_menu.gifが存在しませんので、なんだかちょっと間抜けな感じです。 了解しました。 この画面は気が付きませんでした。 tep_image_button('button_continue.gif', IMAGE_BUTTON_CONTINUE) のように修正されたということですね。 > # 何だか重箱の隅を突いている様で....(^^;) いえいえ、ありがとうございます。 -- 田村敏彦 / 株式会社ビットスコープ E-mail:tamura @ bitscope.co.jp http://www.bitscope.co.jp/ From e_mori @ homare.tv Tue Dec 10 11:32:34 2002 From: e_mori @ homare.tv (森悦子) Date: Tue, 10 Dec 2002 11:32:34 +0900 Subject: [Tep-j-develop] ショッピングカートの動作について Message-ID: <20021210111058.78A2.E_MORI@homare.tv> はじめまして。 こちらのメーリングリストに参加申込みをさせていただいた森といいます。 今回、どうしても問題の原因がつかみきれず、こちらで何らかの情報をいただけ ればと思いメールしました。 ショッピングカートに商品を入れた際に、PHP4.1.2を使っていた頃には 正しく商品の出し入れができていたのですが、4.2.3にあげたとたん、 商品IDが1000番台になったとたんに、うまく動作しなくなりました。 現象としては、  ログイン時: すべての商品のupdateがうまくいかず(削除も含む)、 非ログイン時: 1〜999番まではupdateができるが、1000番からがうまくいかず、 となっています。 うまくいかないというのは、ショッピングカートに商品は入るが、削除チェック を入れても削除できず、数量を変更しても1に戻ってしまう状態です。 hiddenの値は正しく保持できています。 過去のメーリングリストを読ませていただいたのですが、 2002年10月の「PHPエラー」のところで、 「PHP のバージョンを 4.1 以上にしませんでした?」とあるのですが、 やはり4.2.3にしたのが良くなかったのでしょうか? register_globals はONに設定しています。 oscommerceとPHPのヴァージョンの関連性について、 どなたかご存知の方がいらっしゃいましたら、教えてください。 よろしくお願いします。 ------ 森 From tamura @ bitscope.co.jp Tue Dec 10 11:54:30 2002 From: tamura @ bitscope.co.jp (TAMURA Toshihiko) Date: Tue, 10 Dec 2002 11:54:30 +0900 Subject: [Tep-j-develop] Re: ショッピングカートの動作について In-Reply-To: <20021210111058.78A2.E_MORI@homare.tv> References: <20021210111058.78A2.E_MORI@homare.tv> Message-ID: <20021210115100.9BEF.TAMURA@bitscope.co.jp> 森さん、こんにちは。 田村です。 > ショッピングカートに商品を入れた際に、PHP4.1.2を使っていた頃には > 正しく商品の出し入れができていたのですが、4.2.3にあげたとたん、 > 商品IDが1000番台になったとたんに、うまく動作しなくなりました。 PHP4.2.3では、特に日本語に関連したオプションをつけてコンパイルした場合に 大きな問題が何点かあって、osCommerceもうまく動かないようです。 これらについての正式なパッチはphp.netからは公開されてないみたいです。 # レンタルサーバによっては、 # 独自にパッチをあてて運用しているところもあるようですが。 ですから、現状では 4.2.2 を使うのがいいと思います。 -- 田村敏彦 / 株式会社ビットスコープ E-mail:tamura @ bitscope.co.jp http://www.bitscope.co.jp/ From nagata @ ideastore.co.jp Tue Dec 10 18:04:24 2002 From: nagata @ ideastore.co.jp (Masahiko Nagata) Date: Tue, 10 Dec 2002 18:04:24 +0900 Subject: [Tep-j-develop] 住所入力でエスケープ処理?? Message-ID: 田村さん、こんにちは。 永田です。 お客様から注文が入った場合に、担当宛にメールを送る設定にしているのですが、下 記の様に住所番地部分がエスケープ処理された状態で届きました。 日本町大字日本106&#8722;1 管理画面側の注文確認画面では、 日本町大字日本106−1 と表示されているのですが、MySQL側のテーブルordersのフィール ドcustomers_street_addressでも、日本町大字日本106&#8722;1と表示されてい ます。 オープン以来数百件の処理をしてきましたがこんな例は初めてなので、ちょっと??? です。 これって、お客様がわざとこの様な入力をしたって事も考えられなくは無いのですが、 なにか考えられる事ってありますか? From tamura @ bitscope.co.jp Tue Dec 10 21:44:06 2002 From: tamura @ bitscope.co.jp (TAMURA Toshihiko) Date: Tue, 10 Dec 2002 21:44:06 +0900 Subject: [Tep-j-develop] Re: 住所入力でエスケープ処理?? In-Reply-To: References: Message-ID: <20021210210444.9BFD.TAMURA@bitscope.co.jp> 永田さん、こんばんは。 田村です。 > 日本町大字日本106&#8722;1 おそらく、データベースに実際に記録されているのは"−"なのでは。 マイナス記号をあらわす特殊文字みたいなものですよね。 (参考) HTML文字実体参照一覧 http://www.na.sakura.ne.jp/~ren/yuki/iso88591.html#s3 その中の"&"が、さらに変換されて &#8722; となったんでしょう。 なぜそんな文字が入ったのかというのは、分かりません。 これは、処理の途中で変換されるようなものじゃないと思います。 クライアントでの入力が原因じゃないでしょうか。 クライアントPCの環境が特殊なのか、 機種依存文字(Macの記号は?)なんかが 入力されるとこんなことになるのか?? -- 田村敏彦 / 株式会社ビットスコープ E-mail:tamura @ bitscope.co.jp http://www.bitscope.co.jp/ From binadesa @ rad.net.id Wed Dec 11 02:27:18 2002 From: binadesa @ rad.net.id (Nishimura Akira) Date: Wed, 11 Dec 2002 00:27:18 +0700 Subject: [Tep-j-develop] Re: メンバー登録時の郵便番号 In-Reply-To: <20021116191302.EF2F.TAMURA@bitscope.co.jp> References: <20021116165713.EF29.TAMURA@bitscope.co.jp> <20021116191302.EF2F.TAMURA@bitscope.co.jp> Message-ID: <20021211001916.34F5.BINADESA@rad.net.id> こんにちは。インドネシアの西村です。お世話になっています。 質問は非常に初歩的なことなのですが、お聞きしたいことが開発側のスレッドに 書かれていることなので、こちらにレスをつけさせていただきます。 》> 数字以外の入力があった場合を嫌うからかもしれません。 》a) "(半角数字のみ)" のような注意書きがある。 インターネットで買い物をしたことのない初心者に、テストで買い物をしてもらっ たのですが、アカウントの登録画面の郵便番号の欄の前に「半角で入力してくだ さい」という注意書きがあっても、住所の入力でIMEがonになっているので、や はり全角で入力してしまうようです。 》b) 入力欄の 'maxlength' の指定は、2バイト文字の入力が許される幅がある。 海外サーバーの場合は、mb_convert_kana( ... , "a" )は、jcodeで書き換え可 能なのでしょうか? もし、できない場合、デフォルトで2バイトの入力がエラーにならないようにす るには、SQL側の、どの値を、どのように変えたらいいのでしょうか? よろしくお願いいたします。 Nishimura Akira PT. BINA DESA From tamura @ bitscope.co.jp Wed Dec 11 09:18:53 2002 From: tamura @ bitscope.co.jp (TAMURA Toshihiko) Date: Wed, 11 Dec 2002 09:18:53 +0900 Subject: [Tep-j-develop] Re: メンバー登録時の郵便番号 In-Reply-To: <20021211001916.34F5.BINADESA@rad.net.id> References: <20021116191302.EF2F.TAMURA@bitscope.co.jp> <20021211001916.34F5.BINADESA@rad.net.id> Message-ID: <20021211090200.6B6A.TAMURA@bitscope.co.jp> 西村さん、こんにちは。 田村です。 Nishimura Akira wrote: > 》> 数字以外の入力があった場合を嫌うからかもしれません。 > 》a) "(半角数字のみ)" のような注意書きがある。 > インターネットで買い物をしたことのない初心者に、テストで買い物をしてもらっ > たのですが、アカウントの登録画面の郵便番号の欄の前に「半角で入力してくだ > さい」という注意書きがあっても、住所の入力でIMEがonになっているので、や > はり全角で入力してしまうようです。 そうですね。 > 》b) 入力欄の 'maxlength' の指定は、2バイト文字の入力が許される幅がある。 > 海外サーバーの場合は、mb_convert_kana( ... , "a" )は、jcodeで書き換え可 > 能なのでしょうか? http://www.spencernetwork.org/jcode/ によると、 > ・全角→半角の変換 > ZENtoHAN(文字列, 漢字コード, flag1, flag2) > という関数を使います。指定できる漢字コードはEUC-JP、Shift_JISとJIS > のみです。 > 以下の数字で指定して下さい。 > 0:PASS(無変換) > 1:EUC-JP > 2:Shift_JIS > 3:ISO-2022-JP(JIS) > カタカナ、英数字を変換するかどうかは、 > flag1, flag2 にそれぞれ 0 か 1 の数字を指定して下さい。 > include("./jcode.phps"); > $string='アイウエオ12345ABCDE'; > echo ZENtoHAN($string, 1, 1, 0); > ?> > この例では、カタカナだけが半角に変換されます。 > デフォルト値はflag1=1, flag2=1 で、省略時にこの値が使用されます。 > つまり、 > echo ZENtoHAN($string, 1); > でカタカナ、英数字は両方とも半角に変換されて出力されます。 > (注)カタカナの変換で「」。、・゛゜を半角カナに変換します。 > また、" "(全角スペース)も半角スペース" "(ASCII:0x20)に変換します。 > ZENtoHAN($string, 1, 0, 1); で英数字を変換するんでしょうか。 osCommerceの日本語版でも、英数字の入力カラムの半角変換を 今月中に取り入れる予定です。 # osCommerceのドキュメント検索のページをテスト中です。 # => http://www.bitscope.co.jp/search/tep.html # サブジェクトの文字化け等の問題も残っていますが、調整中です。 # 試してみてください。 -- 田村敏彦 / 株式会社ビットスコープ E-mail:tamura @ bitscope.co.jp http://www.bitscope.co.jp/ From gij @ peak.ne.jp Wed Dec 11 09:22:02 2002 From: gij @ peak.ne.jp (Mineaki Gotoh) Date: Wed, 11 Dec 2002 09:22:02 +0900 Subject: [Tep-j-develop] 半角英数字が必要な入力フィールドの処理 In-Reply-To: <20021211001916.34F5.BINADESA@rad.net.id> References: <20021116191302.EF2F.TAMURA@bitscope.co.jp> <20021211001916.34F5.BINADESA@rad.net.id> Message-ID: <20021211082315.A230.GIJ@peak.ne.jp> 西村さん、こんにちは。後藤です。今の仕事にようやく目鼻がついて、ちょっ とは余裕が出てきました。 閑話休題。 ちょっと内容が異なってきているので、Subjectをつけなおしました。 >質問は非常に初歩的なことなのですが、 いえいえ。西村さんのご質問は的確にツボをついていると思いますよ。 >》> 数字以外の入力があった場合を嫌うからかもしれません。 >》a) "(半角数字のみ)" のような注意書きがある。 >インターネットで買い物をしたことのない初心者に、テストで買い物をしてもらっ >たのですが、アカウントの登録画面の郵便番号の欄の前に「半角で入力してくだ >さい」という注意書きがあっても、住所の入力でIMEがonになっているので、や >はり全角で入力してしまうようです。 確かにその通りです。初心者には、全角・半角という概念がないみたいです ね。だから、注意書きとかしても、あまり意味がないと思っています。 だからこそ、入力の時点で、IMEを切ってしまえば良い、と主張しているので す。"ime-mode:disabled" というCSSが、どれだけ汎用性のあるものなのかは 判りませんが、少なくともMS-IE5以上では有効です。 となれば、WinとMacを併せて、90%以上は対応することになるでしょう。それ こそ、全角半角の区別の付かない初心者が、あえて、NetscapeやOperaを使う 可能性は0に近いと思いますのである意味100%近いとも言えます。(もちろん、 これらのブラウザが、ime-mode というCSSに対応している可能性もあります) ちなみに、IMEという概念のない言語では、このスタイルシートは単に無視さ れますので、osCommerceの売りであるマルチランゲージ性も損なわないはず です。(実験はしてないので保証はできませんが) 理屈だけこねても仕方ないので、コード修正を例示しましょう。 アカウント関係に限れば、修正するのも1ファイルだけです。 catalog/includes/modules/account_details.php において、IMEを切りたい入力項目に該当する tep_draw_input_field( ... , ... ) という関数の、3番目の引数に、'style="ime-mode:disabled"' を与えます。 注意しなければならないのは、このファイルにある tep_draw_input_field() 関数には、引数が1つのものと2つのものが混在して いるので、それぞれの場合に応じて、書き換え方を違えることです。 具体的に例を挙げると、 「生年月日」を修正する場合、 91行目付近 if ($is_read_only) { echo tep_date_short($account['customers_dob']); } elseif ($error) { if ($entry_date_of_birth_error) { echo tep_draw_input_field('dob') . ' ' . ENTRY_DATE_OF_BIRTH_ERROR; } else { echo $HTTP_POST_VARS['dob'] . tep_draw_hidden_field('dob'); } } else { echo tep_draw_input_field('dob', tep_date_short($account['customers_dob'])) . ' ' . ENTRY_DATE_OF_BIRTH_TEXT; } を、下のようにします。 if ($is_read_only) { echo tep_date_short($account['customers_dob']); } elseif ($error) { if ($entry_date_of_birth_error) { echo tep_draw_input_field('dob','','style="ime-mode:disabled"') . ' ' . ENTRY_DATE_OF_BIRTH_ERROR; } else { echo $HTTP_POST_VARS['dob'] . tep_draw_hidden_field('dob'); } } else { echo tep_draw_input_field('dob', tep_date_short($account['customers_dob']),'style="ime-mode:disabled"') . ' ' . ENTRY_DATE_OF_BIRTH_TEXT; } tep_draw_input_field('dob') のように、引数が1つしかない場合は、 tep_draw_input_field('dob','','style="ime-mode:disabled"') と、2番目の引数に''と、空文字列を渡します。 tep_draw_input_field('dob', tep_date_short($account['customers_dob'])) のように、引数が2つある場合は、そのまま3番目の引数を追加します。 tep_draw_input_field('dob', tep_date_short($account['customers_dob']),'style="ime-mode:disabled"') このファイルで修正候補となるのは、 ・生年月日 (dob) 2箇所 (引数1つのが1、2つのが1) ・E-mail (email_address) 4箇所 (引数1つのが3、2つのが1) ・郵便番号 (postcode) 2箇所 (引数1つのが1、2つのが1) ・電話番号 (telephone) 2箇所 (引数1つのが1、2つのが1) ・FAX (fax) 1箇所 (引数2つのが1) あたりでしょうか。 なお、お客様が入力するフィールドは、osCommerceには他にもいくつかあり、 それらをすべて修正するのは結構大変です。 とりあえず、簡単なところでは、 catalog/address_book_process.php 535行目付近を、 if (@$postcode_error == '1') { echo ' ' . ENTRY_POST_CODE_ERROR; } else { echo $HTTP_POST_VARS['postcode'] . ''; } } else { echo ' ' . ENTRY_POST_CODE_TEXT; } ?> こんな感じにします。このファイルではなぜかtep_*関数を使ってないので、 直にHTMLで記述する必要があります。 他にも、クレジットカード番号やカートの数量あたりが修正候補です。前者 はともかく、後者は結構面倒かもしれません。(試してないので判りません) また、上記の変更によっても、ブラウザが対応してなかったり、対応ブラウ ザでもコピー&ペーストなどされれば、該当フィールドに全角文字が入ること はありますので、POSTデータの受け取り側でも、処理する必要は残ります。 >》b) 入力欄の 'maxlength' の指定は、2バイト文字の入力が許される幅がある。 >海外サーバーの場合は、mb_convert_kana( ... , "a" )は、jcodeで書き換え可 >能なのでしょうか? 最新版のjcodeもいろいろ機能追加されているかもしれませんが、とりあえず 私の知っているバージョンではこれに類する機能はありませんでした。 ただ、mb_convert_kana()でも、"a"のようなアクションに限って言うなら、 新たにそういう関数を実装するのは、そんなに難しくないはずですよ。 時間があったら、osCommerceに必要なmb_*関数を自前で実装しようと思って いたんですが、自分自身には必要がないので、モチベーションが上がらず、 なかなか難しいですね。 >もし、できない場合、デフォルトで2バイトの入力がエラーにならないようにす >るには、SQL側の、どの値を、どのように変えたらいいのでしょうか? 1バイト文字を想定したフィールド(カラム)に、2バイト文字がSETされて も、MySQL的にはエラーになりません。 もちろん、バイト数の制限はあるので、最初から、各カラムのサイズを大き くしておけば、データを落とすことはなくなると思います。(郵便番号が全 角で入力されていても、7桁すべてが読めれば、それを管理者が半角に修正 することは簡単ですので) -- 株式会社PEAK ネットワーク技術担当 後藤 From gij @ peak.ne.jp Wed Dec 11 09:46:48 2002 From: gij @ peak.ne.jp (Mineaki Gotoh) Date: Wed, 11 Dec 2002 09:46:48 +0900 Subject: [Tep-j-develop] 半角英数字が必要な入力フィールドの処理(補追) In-Reply-To: <20021211082315.A230.GIJ@peak.ne.jp> References: <20021211001916.34F5.BINADESA@rad.net.id> <20021211082315.A230.GIJ@peak.ne.jp> Message-ID: <20021211094436.A232.GIJ@peak.ne.jp> 追加です。 肝心な部分を書き忘れていました。 catalog/login.php 148行目付近 旧) 新) これこそ、まっさきに修正すべき箇所ですね。 -- 株式会社PEAK ネットワーク技術担当 後藤 From binadesa @ rad.net.id Thu Dec 12 08:05:29 2002 From: binadesa @ rad.net.id (Nishimura Akira) Date: Thu, 12 Dec 2002 06:05:29 +0700 Subject: [Tep-j-develop] Re: 半角英数字が必要な入力フィールドの処理 In-Reply-To: <20021211082315.A230.GIJ@peak.ne.jp> References: <20021211001916.34F5.BINADESA@rad.net.id> <20021211082315.A230.GIJ@peak.ne.jp> Message-ID: <20021212060218.D428.BINADESA@rad.net.id> 後藤さん、おはようございます。西村です。 》ちょっと内容が異なってきているので、Subjectをつけなおしました。 あ、このほうが内容にマッチしていますね。ありがとうございます。 》という関数の、3番目の引数に、'style="ime-mode:disabled"' を与えます。 詳細なわかりやすい解説、ありがとうございます。さっそく試してみました。 IMEが自動的に無効になると、スムースに入力ができて、とても使いやすくなり ました。初心者が登録を迷わないようにするという意味では、この方法は非常に 有効ですね。 なお、Netscape6.1とOpera6でもやってみましたが、両ブラウザは上記CSS非対応 のようでした。 》また、上記の変更によっても、ブラウザが対応してなかったり、対応ブラウ 》ザでもコピー&ペーストなどされれば、該当フィールドに全角文字が入ること 》はありますので、POSTデータの受け取り側でも、処理する必要は残ります。 このあたりの改良については、私の能力ではお手上げなので、田村さんのご返事 にあった最新版の半角変換対応を待とうと思います。 》1バイト文字を想定したフィールド(カラム)に、2バイト文字がSETされて 》も、MySQL的にはエラーになりません。 わかりました。 》もちろん、バイト数の制限はあるので、最初から、各カラムのサイズを大き 》くしておけば、データを落とすことはなくなると思います。(郵便番号が全 》角で入力されていても、7桁すべてが読めれば、それを管理者が半角に修正 》することは簡単ですので) これは、例えば、郵便番号を全角入力してもデータが切れないようにするには /catalog/address_book_process.php(name="postcode") /admin/customers.php(entry_postcode) の、maxlength="8"を"16"に書き換え、 SQLサーバーの以下の値の長さを16にするということでよろしいのでしょうか? entry_postcode varchar(10) →(16) customers_postcode varchar(10) →(16) delivery_postcode varchar(10) →(16) いまのところ、全角で入力してもデータが切れることは無く、問題なく動いてい るようですが、間違いがありましたら、ご指摘いただけたらありがたいです。 よろしくお願いします。 Nishimura Akira PT. BINA DESA From binadesa @ rad.net.id Thu Dec 12 08:05:31 2002 From: binadesa @ rad.net.id (Nishimura Akira) Date: Thu, 12 Dec 2002 06:05:31 +0700 Subject: [Tep-j-develop] Re: 英数字の半角変換 In-Reply-To: <20021211090200.6B6A.TAMURA@bitscope.co.jp> References: <20021211001916.34F5.BINADESA@rad.net.id> <20021211090200.6B6A.TAMURA@bitscope.co.jp> Message-ID: <20021212060422.D42B.BINADESA@rad.net.id> 田村さん、おはようございます。西村です。 》ZENtoHAN($string, 1, 0, 1); で英数字を変換するんでしょうか。 アドバイス、ありがとうございます。でも、残念ながらこのへんは、私には難し くて、手におえません。 》osCommerceの日本語版でも、英数字の入力カラムの半角変換を 》今月中に取り入れる予定です。 それはとてもありがたいです。出来上がりをお待ちしております。 》# osCommerceのドキュメント検索のページをテスト中です。 》# => http://www.bitscope.co.jp/search/tep.html すぐ前のメールまで検索の対象となっていて、とても便利ですね。 Namazu検索は、自分の関わっていたサイトの全文検索のために旧バージョンをイ ンストールしたことがあったのですが、新しいのは、ずいぶん使い勝手がよくなっ ているようですね。どうもありがとうございます。 Nishimura Akira PT. BINA DESA From nagata @ ideastore.co.jp Thu Dec 12 16:33:32 2002 From: nagata @ ideastore.co.jp (Masahiko Nagata) Date: Thu, 12 Dec 2002 16:33:32 +0900 Subject: [Tep-j-develop] Re: 住所入力でエスケープ処理?? In-Reply-To: <20021210210444.9BFD.TAMURA@bitscope.co.jp> Message-ID: 田村さん、こんにちは。 永田です。 on 2002.12.10 21:44, TAMURA Toshihiko at tamura @ bitscope.co.jp wrote: > おそらく、データベースに実際に記録されているのは"−"なのでは。 > マイナス記号をあらわす特殊文字みたいなものですよね。 > > (参考) HTML文字実体参照一覧 > http://www.na.sakura.ne.jp/〓ren/yuki/iso88591.html#s3 > > その中の"&"が、さらに変換されて &#8722; となったんでしょう。 のるほど、さらにエスケープされたと言う事なのですね.. > > なぜそんな文字が入ったのかというのは、分かりません。 > これは、処理の途中で変換されるようなものじゃないと思います。 > クライアントでの入力が原因じゃないでしょうか。 > > クライアントPCの環境が特殊なのか、 > 機種依存文字(Macの記号は?)なんかが > 入力されるとこんなことになるのか?? Windowsでは過去の慣習(PC-98)からか、機種依存文字が多数存在しますが、Macで は基本的に機種依存文字が存在しません(入力・表示出来ない)。 恐らくお客様自信が何かの意図で入力されたのでしょうね。 # 何の意図があったのかはわかりませんが... From e_mori @ homare.tv Fri Dec 13 14:02:20 2002 From: e_mori @ homare.tv (森悦子) Date: Fri, 13 Dec 2002 14:02:20 +0900 Subject: [Tep-j-develop] メンバー登録時のメールアドレスチェックでの疑問 Message-ID: <20021213133415.BDE6.E_MORI@homare.tv> 先日は、ショッピングカートでの動作不具合(PHP4.2.3の場合)の 回答をいただきまして本当にありがとうございました。 お礼が遅れてしまって申し訳ありません。 途方にくれていたので、本当に助かりました。 今日、メールを投稿させていただいたのは、 「メンバー登録時のメールアドレスチェック」に関する疑問です。 イリーガルな状態に関する質問なので、恐縮するのですが、 処理を見ていて疑問に思ったので、あえて投稿させていただきました。 既にログインされている会員がセッションIDを持たしたまま、会員登録ページ を開き、同じメールアドレスでメンバー登録を行おうとすると、エラーが出ずに メンバー登録ができてしまいます。 多分それは、メンバー登録時のメールアドレスチェックの際に データベースへのselect文のwhere以下に、「そのメンバーID以外」と 言うのが付いているから起こっているのでは思っています。 そもそもメンバー登録は新規のお客様がログイン画面から、初めてで開かれるページ でメンバーIDが何も入っていない状態にあると思っている(推測)のですが、 あえて、エラーチェックの際にこのようなwhereが使われているのは 何かもっと別の意味があるのでしょうか。 カスタマイズの際に、ログインページを介さず、直接メンバー登録に進むような カスタマイズを行ってしまうと、2重登録できてしまいますよね...。 #あんまり2回も会員登録行おうとする人っていないような気もしますが。。。 #こういうカスタマイズってしても構わないんでしょうか? --- Mori From gij @ peak.ne.jp Fri Dec 13 14:05:10 2002 From: gij @ peak.ne.jp (Mineaki Gotoh) Date: Fri, 13 Dec 2002 14:05:10 +0900 Subject: [Tep-j-develop] Re: 半角英数字が必要な入力フィールドの処理 In-Reply-To: <20021212060218.D428.BINADESA@rad.net.id> References: <20021211082315.A230.GIJ@peak.ne.jp> <20021212060218.D428.BINADESA@rad.net.id> Message-ID: <20021213133703.08B6.GIJ@peak.ne.jp> 西村さん、こんにちは。後藤です。 西村さんみたいに積極的にご自身で試していただける方だと、レスをつける 私としても非常にやりがいがあります。 > 》という関数の、3番目の引数に、'style="ime-mode:disabled"' を与えます。 > 詳細なわかりやすい解説、ありがとうございます。さっそく試してみました。 > IMEが自動的に無効になると、スムースに入力ができて、とても使いやすくなり > ました。初心者が登録を迷わないようにするという意味では、この方法は非常に > 有効ですね。 そうですね。最初から半角でしか入力できないのですから、迷いようがない と思います。 > なお、Netscape6.1とOpera6でもやってみましたが、両ブラウザは上記CSS非対応 > のようでした。 確認ありがとうございます。私もOpera6で試してみましたが、確かにこの CSSは無視されているようでした。 日本語のフォーム入力において、IMEコントロールって意外に重要な要素だと 思うだけに、ちょっと残念ですね。 > 》もちろん、バイト数の制限はあるので、最初から、各カラムのサイズを大き > 》くしておけば、データを落とすことはなくなると思います。(郵便番号が全 > 》角で入力されていても、7桁すべてが読めれば、それを管理者が半角に修正 > 》することは簡単ですので) > これは、例えば、郵便番号を全角入力してもデータが切れないようにするには > > /catalog/address_book_process.php(name="postcode") > /admin/customers.php(entry_postcode) > の、maxlength="8"を"16"に書き換え、 > > SQLサーバーの以下の値の長さを16にするということでよろしいのでしょうか? > > entry_postcode varchar(10) →(16) > customers_postcode varchar(10) →(16) > delivery_postcode varchar(10) →(16) > > いまのところ、全角で入力してもデータが切れることは無く、問題なく動いてい > るようですが、間違いがありましたら、ご指摘いただけたらありがたいです。 恥ずかしながら、input='text' における maxlength という属性を、今はじ めて知りました。(おかげさまで勉強になりました) ただ、IE5およびOpera6で試した限りにおいては、maxlength は、全角でも半 角でも1字という解釈なので、ここが問題になることはないでしょう。 そんなわけで、修正はMySQL側だけで済むと思います。(ソースをいろいろい じると、後が大変ですし) 少なくとも、現時点では、西村さんがご指摘なされているように各postcode は10キャラクターしか用意してないので、全角文字で入力されると、お尻が 切れます。(実際に切れました) 〒100−0000 といった形式で入力されてしまうことも考えると16キャラクターではちょっ と足りず、20キャラクターくらいを用意しておけば良いと思います。(とい うか、varchar型については、あえてデータを打ち切るという目的さえなけれ ば、無条件で255キャラクター用意しても良いような気もするのですが) 運営しているショップだと、すでにデータが存在しているでしょうから、 mysqlコマンドラインから入って、 alter table address_book modify entry_postcode varchar(20) NOT NULL default ''; alter table orders modify customers_postcode varchar(20) NOT NULL default ''; alter table orders modify delivery_postcode varchar(20) NOT NULL default ''; とやるのがベストでしょうか。 mysqlコマンドラインが使えないのであれば、一度、バックアップという形で データをダンプして、ダンプしたファイルの該当部分を書き換え、リストア するしかないでしょう。この場合、お客さんが来ないタイミングを見図る必 要があります。 -- 株式会社PEAK ネットワーク技術担当 後藤 From t-sakaguchi @ brainhearts.co.jp Fri Dec 13 16:05:56 2002 From: t-sakaguchi @ brainhearts.co.jp (Tsukasa Sakaguchi) Date: Fri, 13 Dec 2002 16:05:56 +0900 Subject: [Tep-j-develop] Re: 半角英数字が必要な入力フィールドの処理 In-Reply-To: <20021213133703.08B6.GIJ@peak.ne.jp> References: <20021213133703.08B6.GIJ@peak.ne.jp> Message-ID: <200212130705.AA00058@TS01.brainhearts.co.jp> さかぐち@brainheartsです。 こんにちは。 From: Mineaki Gotoh Date: Fri, 13 Dec 2002 14:05:10 +0900 Subject: [Tep-j-develop] Re: 半角英数字が必要な入力フィールドの処理 >> 》という関数の、3番目の引数に、'style="ime-mode:disabled"' を与えます。 >> 詳細なわかりやすい解説、ありがとうございます。さっそく試してみました。 >> IMEが自動的に無効になると、スムースに入力ができて、とても使いやすくなり >> ました。初心者が登録を迷わないようにするという意味では、この方法は非常に >> 有効ですね。 > >そうですね。最初から半角でしか入力できないのですから、迷いようがない >と思います。 その逆に、たとえば、姓名や住所など、日本人なら全角で入力するような場所には 'style="ime-mode: active"'と書いておくと、自動的にONになるので、より便利かと。 # disabled は絶対にONにできない # inactive はOFFになるけれど、ONにすることができる # という違いがありますね >> なお、Netscape6.1とOpera6でもやってみましたが、両ブラウザは上記CSS非対応 >> のようでした。 > >確認ありがとうございます。私もOpera6で試してみましたが、確かにこの >CSSは無視されているようでした。 Netscape7.1も無視ですね。 そもそもIME自体がWindows独自のものなので、こればかりは仕方ないと思っています。 # WindowsでATOKを使っている人は、どうなんでしょう? # 制御できているのでしょうか。気になるところです。 入力項目のチェックという点では、javascriptが動作するという前提で、チェックする ことも可能ですが、ちょっと面倒くさいです。 とりあえず、郵便番号、電話番号、E-mailアドレスのチェックだけですが、 IEで動作するチェック用のjavascriptはこんな感じになります。 #もっと 簡単な方法があるのかもしれませんが -- var NUMSTR = new String('0123456789'); var ALPSTR = new String('abcdefghijklmnopqrstuvwxyz' + 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'); var EXPZIP = new RegExp('^[' + NUMSTR + ']{3}(\-?[' + NUMSTR + ']{2}([' + NUMSTR + ']{2})?)?$'); var EXPTEL = new RegExp('([' + NUMSTR + ']+\\-?)?([' + NUMSTR + ']+\\-?)?([' + NUMSTR + ']{4})$'); var EXPEMAIL = new RegExp('^[' + NUMSTR + ALPSTR + '][' + NUMSTR + ALPSTR + '_\\-\\.]*\@[' + NUMSTR + ALPSTR + '][' + NUMSTR + ALPSTR + '_\\-\\.]*\\.[' + ALPSTR + ']+$'); // 郵便番号判定 // I: 文字列 // O: true/false // 3桁/5桁/7桁のいずれかであればOK function IsZipCD(s) { if (s.length == 0) return true; var r = s.replace(EXPZIP, ''); return (r.length == 0) ? true : false; } // 電話番号判定 // I: 文字列 // O: true/false // 任意桁数の数字-任意桁数の数字-4桁の数字 であればOK function IsTelNo(s) { if (s.length == 0) return true; var r = s.replace(EXPTEL, ''); return (r.length == 0) ? true : false; } // E-Mail判定 // I: 文字列 // O: true/false // @ の前に 半角英数字で始まり任意桁数の半角英数字および-_. // @ の後に 半角英数字で始まり任意桁数の半角英数字および-_.が続き .半角英字で終わる function IsEmail(s) { if (s.length == 0) return true; var r = s.replace(EXPEMAIL, ''); return (r.length == 0) ? true : false; } -- 生年月日も同様にチェックできると思うのですが、実在する日付かどうか?など もうちょっとチェックは細かくなるでしょうね。 # ちなみに、方法は若干異なりますが、全角/半角のチェックもできますし # 入力された文字数ではなく、バイト数を調べることもできますね >ただ、IE5およびOpera6で試した限りにおいては、maxlength は、全角でも半 >角でも1字という解釈なので、ここが問題になることはないでしょう。 > >そんなわけで、修正はMySQL側だけで済むと思います。(ソースをいろいろい >じると、後が大変ですし) 同じ郵便番号、たとえば 001-0001 と入力されたデータと 001−0001 あるいは 0010001 と入力されたデータが混在していると 後々、顧客データを郵便番号をつかって分布分析をしたいとか、そういうニーズが 出てきたときに面倒だと思いますが、その辺はどうお考えでしょうか? データを管理するという点で見ると、ソースを修正して、一律001-0001あるいは 001−0001としてしまったほうがよいと思うのですが。 -- BrainHearts Corp. Tsukasa Sakaguchi / t-sakaguchi @ brainhearts.co.jp Tel. 045-290-7561 From t-sakaguchi @ brainhearts.co.jp Fri Dec 13 22:27:21 2002 From: t-sakaguchi @ brainhearts.co.jp (Tsukasa Sakaguchi) Date: Fri, 13 Dec 2002 22:27:21 +0900 Subject: [Tep-j-develop] Re: 半角英数字が必要な入力フィールドの処理 In-Reply-To: <200212130705.AA00058@TS01.brainhearts.co.jp> References: <200212130705.AA00058@TS01.brainhearts.co.jp> Message-ID: <200212131327.AA00060@TS01.brainhearts.co.jp> さかぐち@brainheartsです。 From: Tsukasa Sakaguchi Date: Fri, 13 Dec 2002 16:05:56 +0900 Subject: [Tep-j-develop] Re: 半角英数字が必要な入力フィールドの処理 説明が少々不十分でしたので、組み込み例を書いておきます 修正するファイルは、 catalog/includes/form_check.js.php です。 --